1

我遇到了一个荒谬的问题,这似乎比它应该做的要困难得多。

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

似乎一种选择是使用小部件,但是每当我放入脚本时,mediawiki 都会更改它并删除 <>(将其更改为 < 和 >),这意味着它不会运行,而且我在任何地方都找不到一个提及如何让 Mediawiki 停止为 Mediawiki 或 Widget 扩展执行此操作。欢迎任何帮助。

作为示例,我将以下代码放入 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
4

2 回答 2

0

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

于 2015-03-28T08:19:54.807 回答
0

由于没有人指出我要说的内容,我可能遗漏了一些东西......而且我知道这篇文章很老,但是有没有理由type=text/javascript不在开始script标签内?

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

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

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

于 2018-03-13T16:13:20.780 回答