MediaWiki页面嵌入<iframe>标签失败,求解决方案
解决方案
1. 让MediaWiki解析HTML标签
MediaWiki默认会过滤HTML代码,需开启相关配置才能渲染iframe:
- 全局允许HTML(适合私人站点):在
LocalSettings.php中添加:
保存后重启Web服务,重新编辑页面插入iframe代码即可。$wgRawHtml = true; - 仅允许指定HTML标签(更安全):
- 安装MediaWiki官方扩展HTMLTags
- 在
LocalSettings.php中添加:wfLoadExtension( 'HTMLTags' ); $wgHTMLTagsAllowed[] = 'iframe'; $wgHTMLTagsAllowedAttributes['iframe'] = ['src', 'width', 'height', 'frameborder'];
2. 确认目标站点的嵌入限制
维基百科页面设置了X-Frame-Options: DENY响应头,浏览器会强制阻止任何站点将其嵌入iframe。可通过以下方式验证:
尝试嵌入自己站点内的页面(如https://你的维基域名/wiki/测试页面),若能正常显示,说明问题源于维基百科的限制,无法直接嵌入。
3. 替代方案(针对维基百科内容)
无法直接嵌入时,可通过以下方式获取维基百科内容:
- 安装Extension:Wikipedia扩展,使用
#invoke:Wikipedia模板直接引用维基百科的内容片段 - 调用维基百科API获取内容,通过自定义模板或扩展渲染到页面中
内容的提问来源于stack exchange,提问作者Peter James
相关产品推荐
相关产品推荐

