0
如何取消掛起script
標籤請求?如何取消待處理的腳本標記請求?
我有標記腳本,誰從另一個服務器加載內容。由於某些原因服務器不響應,所以我想通過超時2秒取消這個pending
腳本。 例如img
標籤我可以將src
屬性設置爲空值,並且請求將被取消。 對於腳本標記,這不起作用。 由於CORS限制,我無法通過ajax加載腳本內容。
如何取消掛起script
標籤請求?如何取消待處理的腳本標記請求?
我有標記腳本,誰從另一個服務器加載內容。由於某些原因服務器不響應,所以我想通過超時2秒取消這個pending
腳本。 例如img
標籤我可以將src
屬性設置爲空值,並且請求將被取消。 對於腳本標記,這不起作用。 由於CORS限制,我無法通過ajax加載腳本內容。
腳本標記無法取消,因爲它們默認是同步加載和執行的。你可以做的是使用一個腳本加載器來加載腳本。
相反,你可以做這樣的事情(不取消的劇本雖然,只是可以讓頁面不等待它):
<script>
function lazyLoad(s) {
var d = window.document.body;
var e = d.createElement("script");
e.async = true;
e.src = s;
b.appendChild(e);
}
window.onload = lazyLoad('url to script');
</script>
我不知道你能控制這個通過一個腳本標籤。解決方案是通過代理來加載資源,例如, [PHP cURL](http://php.net/manual/en/curl.examples-basic.php),它允許你設置超時最大值。 – Utkanos
Duplicate:http://stackoverflow.com/questions/2100784/is-it-possible-to-stop-a-dynamically-inserted-script-tag,http://stackoverflow.com/questions/1247611/javascript-cancelling -a動態腳本標籤 – eithed