簡體   English   中英

mediawiki 擴展中的原始 HTML

[英]Raw HTML in mediawiki extension

我正在編寫一個 mediawiki 擴展,代碼在獨立的 model 中運行良好。 目標是生成一個 HTML select 小部件,該小部件通過 onchange 事件觸發一些 javascript。 當我將相同的代碼放入 mediawiki 時,它會顯示原始代碼而不是解釋它。

這是一個內部維基,我是唯一的編輯,我的志願者團隊將是觀眾。 也就是說,我不太擔心在權限上有些自由,尤其是在測試時。

我打開了$wgRawHtml = true; 在 LocalSettings.php

並且還嘗試return [ $html, markerType => 'nowiki' ];

但我在 wiki 頁面上取回了實際的 HTML

<html>
<select onchange='processSelect ( this.value )'><option value='0' >SWR MV1</option><option value='1' >SWR 2 NA</option><option value='2' >SWR MV2</option><option value='3' >SWR 4 NA</option></select>
</html>

您返回[$html, 'markerType' => 'nowiki']是正確的,但您還需要告訴 MediaWiki 返回的 output 是 HTML。 否則,MediaWiki Sanitizer 將清理您的解析器 function 的 output:

return [$html, 'noparse' => true, 'isHTML' => true];

我建議您關閉$wgRawHtml ,因為它對於可公開編輯的網站可能非常危險,因為它允許您的用戶將任意 HTML 插入頁面。 它不會影響解析器函數的衛生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM