所以,這裏就是我想出了:
而是防止JS那我可以把它變成一個iframe的 - 它使一個沙盒環境,因此它不能傷害任何東西。在這裏,您是: 首先,外部腳本已經被解析,因爲我把它作爲一個字符串:
function parse_str_to_js($txt) {
$txt = str_replace('\\', '\\\\', $txt);
$txt = str_replace('"', '\\"', $txt);
$txt = str_replace("\r\n", '\n', $txt);
$txt = str_replace("\n", '\n', $txt);
$txt = str_replace('<', '\u003C', $txt);
$txt = str_replace('>', '\u003E', $txt);
return $txt;
}
然後在HTML代替:
<php echo $advertisement_script; ?>
應及時更換,一個佔位符:
<div id="advertisement"></div>
而在JavaScript中的iframe將被創建:
$(function(){
$('#advertisement').html('<iframe id="iframe_advertisement"/>');
var advertisement = "<?php echo parse_str_to_js($advertisement); ?>";
document.getElementById('iframe_advertisement').contentWindow.document.write(advertisement);
});
你不能編輯從額外的腳本代碼?只需找到它添加jQuery的位置並刪除那部分代碼即可。也許如果你發佈了一個鏈接,我們可以幫你。 – DisgruntledGoat 2010-09-08 16:25:46
我不這麼認爲。它的工作方式:這是一個廣告腳本(第三方庫)。我們的網站只從Adv中加載1個JS文件。公司服務器,比這個腳本執行一個document.write,這將額外的 鏈接放到HTML代碼中。所以我不認爲我可以削減/解析它。 –
itarato
2010-09-08 19:26:50