【问题标题】:Mediawiki: how to insert a <script>-TagMediawiki:如何插入 <script>-Tag
【发布时间】:2011-06-24 11:09:18
【问题描述】:

我想在我的 mediawiki 安装中插入一个 flattr 图像。这需要在 html 文件的标题中插入一个 &lt;script&gt;...&lt;/script&gt; 部分。我不知道在哪里可以插入它,因为我在文件MonoBook.php 中找不到&lt;head&gt;-tag。我使用当前的 mediawiki 软件 (1.16.2) 和 MonoBook 风格。谁能给我一个线索,我可以在哪里插入所需的 javascript?

【问题讨论】:

  • 如果这有帮助:我可以编辑服务器上的所有文件(我不怕这样做)。
  • 对于“按需”插入(每页不同的脚本),请参阅Extension:Gadgets

标签: javascript mediawiki script-tag javascript-injection


【解决方案1】:

如果您想使用编辑器插入&lt;script&gt; 标签,唯一的方法是使用扩展名……在我的例子中,我使用WikiScript

【讨论】:

  • 这看起来我必须在实际页面内容中插入&lt;wikiscript&gt; 标签,对吧?我找不到像 MediaWiki:Sidebar 这样允许我插入 &lt;wikiscript&gt;-Tag 的页面,以便所有用户都可以看到它。
  • 如果您需要将该标签插入侧边栏,最简单的选择是编辑 monobook.php 并将&lt;script&gt; 标签放在那里。我也为我的 mediawiki 实例这样做了。 :)
  • 我再也找不到在MonoBook.php 中添加此内容的地方了(我曾经这样做过)。我提到的侧边栏只是一个类比。我想将&lt;script&gt;-Tag 放在 a) 服务器上的文件中或 b) wiki 数据库中,其中 wiki Web 编辑器放在一个页面上,该页面作为每个 wiki 页面的标题加载。
  • @limc 引用的扩展名已被删除。
【解决方案2】:

我找到了一个很好的解决方案:我使用$wgUseSiteJs = true; 启用JavaScript,并将flattr js 插入MediaWiki:Common.js

【讨论】:

  • 此选项仅对全局 Javascrit 有用。在每个页面上创建不同的交互插图,例如与,D3js,你可以使用MediaWiki:Common.js 包含mw.loader.load( '/w/index.php?title=MediaWiki:D3.v5.min.js&amp;action=raw&amp;ctype=text/javascript' ); ... 但似乎不可能使用它!,在每个页面中绘制每个不同的插图,所以它是没有用。有替代方案吗?
猜你喜欢
  • 1970-01-01
  • 2011-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-13
  • 1970-01-01
  • 2021-02-27
相关资源
最近更新 更多