MediaWiki中的Javascript

edg*_*ner 8 javascript mediawiki

我想在我的维基页面上使用一些Javascript,但我无法弄清楚如何.我在Wikia上使用托管解决方案.所以我无法修改安装,添加扩展或破解设置.但我在我的wiki上拥有管理员权限,所以我可以访问MediaWiki命名空间和MediaWiki:Common.js.

我想要使​​用的javascript(Tangle)将包含一个外部脚本,该脚本对于许多页面(但不是wiki中的所有页面)都是通用的,并且某些代码将特定于每个页面,这种类型通常用于您内联<script>标签.

问题是,Mediawiki清理了<script>标签,我还没有办法让它们进入.我正在尝试将它变成一个编辑友好的设置,将在整个wiki中使用,所以我也是试图避免黑客攻击并找到合适的解决方案.


更新:新问题

显然,MediaWiki还清理了Tangle所依赖的HTML5数据属性.任何解决这个问题的想法都是非常受欢迎的.

Ilm*_*nen 5

<script>由于显而易见的原因,MediaWiki不允许在页面中使用标签:如果有,任何人都可以使用它们将JavaScript注入您的wiki,例如窃取登录凭据.

可以做几件事:

  • 写一些通用的JavaScript代码来从一些提取参数允许在链接到MediaWiki页面,如隐蔽的<div>.这样做时要小心不要引入安全漏洞.

  • 将这样的内容添加到MediaWiki:Common.js:

    importScript('MediaWiki:Tangle/' + wgPageName + '.js');
    
    Run Code Online (Sandbox Code Playgroud)

    然后,每当用户访问页面"Foo"时,页面"MediaWiki:Tangle/Foo.js"将作为JavaScript加载.当然,该页面只能由管理员编辑,但这可能仍然足以满足您的需求.(您可以使用相同的技巧从其他命名空间中的页面导入JS,但这会在数英里范围内打开安全漏洞.)