Mediawiki小部件将不会运行javascript

Mediawiki widget will not run javascript

本文关键字:运行 javascript 小部 Mediawiki      更新时间:2023-09-26

我遇到了一个荒谬的问题,这个问题似乎比实际情况要困难得多。

我已经挣扎了大约三天,试图找到一种在维基百科页面上运行javascript的方法,但这似乎几乎是不可能的。(我可以让它在common.js下运行,但只希望它在特定页面上运行

看起来有一个选项是使用小工具,但每当我放入脚本时,mediawiki都会对其进行更改并删除<>(将其更改为&lt和&gt),这意味着它将不会运行,而且我找不到任何地方提到如何让Mediawiki停止为Mediawiki或Widget扩展执行此操作。欢迎任何帮助。

举个例子,我在小部件中放入了以下代码:redbox

    <noinclude>
This is a test
</noinclude>
<includeonly><script> type="text/javascript"> console.log("I am alie"); </script></includeonly>

我得到的是

This is a test fckLR &lt;script&gt; type="text/javascript"> console.log("I am alie"); &lt;/script&gt;fckLR

最简单的解决方案是在common.js中放入一个脚本,该脚本只有在页面上存在具有特定ID的元素(即$( '#some-id' ).length > 0)时才会运行。

由于没有人指出我要说的话,我可能遗漏了什么。。。我也知道这篇文章很旧,但type=text/javascript不在打开的script标签中有原因吗?

我真的不明白为什么将属性放在开头标记之外会有用。

万一这真的是一个错误,仅此而已,正确的语法应该是

<includeonly>
  <script type="text/javascript">
    console.log("Hello, underworld!");
  </script>
</includeonly>