【问题标题】:Displaying a mediawiki within a iframe在 iframe 中显示 mediawiki
【发布时间】:2011-12-07 08:51:34
【问题描述】:

首先...我真的不想使用 iframe,但我认为在这种情况下我别无选择。

我正在将一些帮助文档集成到已构建的系统中。对我来说,让其他人编写帮助的最简单方法是为他们提供具有自定义样式的 mediawiki,然后将其集成到系统中,我想在帮助选项卡中放置指向 mediawiki 的直接链接。

问题是,我的 mediawiki 似乎阻止 iframe 加载它(也许这是默认设置),但我想知道如何关闭它。我知道我的代码很好,因为它可以加载其他网站!

你也可以用 div 标签做我想做的事吗?

谢谢

【问题讨论】:

  • 维基不允许你这样做。看看:stackoverflow.com/questions/1321497/prevent-kill-frame
  • 我见过这个。你能不把它设置为允许你吗?我可以在我的 iframe 中加载实际的 mediawiki 网站甚至维基百科!只是不是我安装的 mediawiki...
  • 这个怎么样:developpez.net/forums/d274641/webmasters-developpement-web/…(它是法语,但谷歌翻译得很好)。它说“找到文件”mediawiki-1.xx \ skins \ common \ wikibits.js - 并注释掉这两行:A-trap us from framesets --- if (window.top! = window) --- window .top.location = window.location; --- 如果它有效,我们可以发布它以供将来参考
  • 谢谢,这看起来正是我想要的。我会在一分钟内尝试并报告!
  • 这似乎有效,谢谢,您想在问题中给出答案吗,我会接受... :)

标签: css iframe html mediawiki


【解决方案1】:

wiki 通常不允许您这样做,但有一个解决方法:

要在 iframe 中显示 wiki,您必须找到文件“mediawiki-1.xx\skins\common\wikibits.js”并注释掉这两行:

/ / A-trap us from framesets
if (window.top! = window)
window.top.location = window.location;

这是不允许 wiki 显示的代码。 见于here

【讨论】:

    【解决方案2】:

    这是一个配置选项,可以在 LocalSettings.php 中设置。
    $wgEditPageFrameOptions$wgBreakFrames

    请注意,这可能会使您面临某些“点击劫持”攻击。

    【讨论】:

    • 是的,我认为将其设置为 false 实际上与上述相同。
    • 不,它不会(或者不会在现代版本上)。 MediaWiki 还发送一些 HTTP 标头以防止手动编辑 js 无法摆脱的框架(此外,手动编辑 js 文件通常在升级过程中被覆盖,人们忘记了他们修改的内容,其中配置设置通常不会被覆盖)跨度>
    • 对不起,我应该说为某些页面发送 HTTP 标头(仅在您可以提交会更改 wiki 状态的表单的页面上),其中可能包括一些您不期望的页面到(例如,如果启用了巡逻,则差异)。查看普通页面可能不会触发 http 标头,但其他页面会(编辑页面是一个主要示例)。
    猜你喜欢
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    相关资源
    最近更新 更多