首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在toggleToc安装中使用MediaWiki ()

如何在toggleToc安装中使用MediaWiki ()
EN

Webmasters Stack Exchange用户
提问于 2018-02-18 12:42:45
回答 2查看 76关注 0票数 1

我管理一个运行MediaWiki 1.29的wiki站点,我在页面上崩溃TOC时遇到了问题。

我希望保留“内容”框,但默认情况下,使用它加载页面时会出现折叠。

这里似乎有一个简单的解决方案,https://www.mediawiki.org/wiki/Manual_谈话:桌子_的_contents#Improved_解决方案,但是我没有实现它,我不知道错误在哪里,希望有人能帮上忙。

我将代码集成在一起,并检查站点是否使用了MediaWiki:Common.js

在页面呈现期间,我检查了Java代码的加载和执行,但是它似乎失败了,因为

代码语言:javascript
复制
ReferenceError: toggleToc is not defined

我还检查了这个页面https://www.mediawiki.org/wiki/ResourceLoader/Migration_指南_(用户)#MediaWiki_1.29,但是在表中有一个空单元格,应该解释如何迁移toggleToc();。我甚至不确定它是否应该迁移。

如对此专题有任何帮助,我们将不胜感激。

谢谢

卢卡

EN

回答 2

Webmasters Stack Exchange用户

回答已采纳

发布于 2018-02-23 10:25:50

在咨询了MediaWiki支持台之后,我终于确认,该函数列在表中,如何在列中没有文本替换为该函数被永久删除的情况下迁移。

在我看来,这一点没有得到明确的解释。

所以这个函数不能再被开箱即用了。

对于对此函数感兴趣的人,可以在比版本1.29更早的MediaWiki包中找到源代码。

函数被写入文件中。

代码语言:javascript
复制
\resources\src\mediawiki\mediawiki.toc.js

我希望这能帮助其他人解决问题。

票数 0
EN

Webmasters Stack Exchange用户

发布于 2018-02-18 21:17:34

在上面提供的媒体wiki链接中,它解释了需要实现以下代码:

代码语言:javascript
复制
// The enclosed code runs only after the page has been loaded and parsed.
window.addEventListener('DOMContentLoaded', function() {
  try {
    // Detect whether the page's TOC is being displayed.
    if (document.getElementById('toc').getElementsByTagName('ul')[0].style.display != 'none') {
      // Use MW's toggleToc() to hide TOC, change "hide/show" link text, and set cookie.
      toggleToc();
    }
  } catch (exception) {
    // Probably this page doesn't have a TOC, ignore the exception to prevent console clutter.
  }
}, false);

如果您已经在您的网站上实现了上述代码,并且该代码没有正常运行,我对上述代码的最佳理解如下:

`window.addEventListener('DOMContentLoaded‘),它侦听要加载的页面内容,然后执行以下功能

如果(document.getElementById('toc').getElementsByTagName('ul')0.style.display != 'none') { toggleToc();如果name="toc“中的元素未设置为显示:none,则执行"toggleToc”函数

首先,必须确保name="toc“定义的元素没有设置为display:none。然后,您必须确保页面或.js文件中的某个位置设置了函数toggleToc。如果尚未设置或定义toggleToc,则必须自己编写此代码,或在线查找代码并在页面或.js文件中实现它。

由于您已经收到了以下通知: ReferenceError: toggleToc未定义,我的最佳猜测是,您实际上在任何.js文件中或在网页中都没有函数toggleToc。我会检查一下,以确保它在那里。

希望我能帮到你。

票数 1
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/112886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档