1

为了提供现有 mediawiki 安装的移动版本,我一直在寻找一种可行的方法来从输出中删除所有图像。最优选的解决方案是生成的 html 将不再包含图像标签。由于我无法找到一个干净的解决方案,我将图像移动到不同的服务器并在此版本中禁用了 $wgForeignFileRepos 和 $wgAllowExternalImages。不幸的是 - 虽然没有显示图像 - 会出现一个占位符框,其中包含图像的名称和一个(现在不起作用)指向它的链接。

您是否知道一种无需使用 css/js 即可摆脱图像的方法或一种使我的方法完成的方法?

4

2 回答 2

0

您可以使用此javascript 移动浏览器检测,然后在检测时运行以下 javascript 代码。

var imagesremove = document.getElementsByTag('img')
imagesremove.parentNode.removeChild(imagesremove);
于 2015-03-15T02:46:12.587 回答
0

可能有更好的解决方案,但您可以覆盖ImageBeforeProduceHTML 挂钩以使图像生成空输出:

$wgHooks['ImageBeforeProduceHTML'][] = function( &$skin, &$title, &$file, &$frameParams, &$handlerParams, &$time, &$res ) {
    $res = '';
    return false;
}

...或更花哨的东西,例如返回图像的链接而不是实际的<img>标签。

根据您 wiki 的缓存设置,您可能必须在之后清除页面缓存,例如通过设置$wgCacheEpoch

于 2015-03-15T22:38:58.870 回答