既然你有跨域問題,試試這個($.getScript()
只是一個簡寫本,無論如何,與crossDomain: true
除外)。
$.ajax({
url: 'http://domain/site/script?Id=12345&delayMs=2000&
stayMs=10000&chance=0.1',
crossDomain: true,
dataType: 'script',
success: function() {
// script is loaded
},
error: function() {
// handle errors
}
});
另一種解決方案,您可以嘗試使用純JS:
function loadScript(src, callback)
{
var s,
r,
t;
r = false;
s = document.createElement('script');
s.type = 'text/javascript';
s.src = src;
s.onload = s.onreadystatechange = function() {
//console.log(this.readyState);
//uncomment this line to see which ready states are called.
if (!r && (!this.readyState || this.readyState == 'complete'))
{
r = true;
callback();
}
};
t = document.getElementsByTagName('script')[0];
t.parent.insertBefore(s, t);
}
用法:
var url = 'http://domain/site/script?Id=12345&delayMs=2000&
stayMs=10000&chance=0.1';
loadScript(url, function(){
console.log('script loaded');
});
做什麼用'getScript加入()'的問題? – Johan
嗨,約翰,我嘗試了下面的建議,並使用getScript(),但它似乎沒有做任何事情。讓我解釋一下,如果我在頁面加載時將鏈接放在頁面上的腳本標記中,它會在頁面上創建一個浮動div,並將ID傳遞給它。當我使用ajax/getScript調用腳本時,div不會出現。 –
嘗試我的更新。另外,你使用什麼服務器端語言? – Johan