[英]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.