簡體   English   中英

JavaScript代碼注入不帶<script> tag

[英]JavaScript code injection without a <script> tag

客戶端腳本正在將一些HTML從服務器拉入頁面內彈出窗口(陰影框等)。

我懷疑這是通過jQuery的.html()某處完成的。

長話短說,以下失敗:

<script type="text/javascript"> myFunc(); </script>

不幸的是,我無法修改客戶端代碼(因此,我無法通過替代渠道傳遞和執行JavaScript代碼)。

我進行這項工作的一種方式是將以下內容作為HTML的一部分返回:

<img src="." onerror=" myFunc(); "/>

事后看來,我可以將有效的圖像URL用作onload ,但是如果兩個事件都起作用,我寧願使用錯誤的路徑來使瀏覽器立即引起調用(並且減少HTTP /緩存查找)。

關於到目前為止的設置,我想聽聽您對此的看法,也許是一個更好的解決方案。

編輯:

讓我們假設這是我不喜歡的客戶端代碼:

jQuery.get('test.php',function(data){
    jQuery('#popup').html(data);
});

這是test.php返回的數據:

Hello!
<script type=text/javascript> myFunc(); </script>

以下是我建議的解決方案:

Hello!
<img src="." onerror=" myFunc(); "/>

您可以在<body>上使用onload。

<body onload="myFunc();">

暫無
暫無

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

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