2011-02-18 17 views
0

我有一個嵌入在第三方網站上的JavaScript小部件。它需要加載其他資源(CSS,flash等)相對於自身(而不是相對於它所在的頁面)。通過3G獲取腳本標記的源代碼在iPhone上的Javascript

爲此,我一直循環瀏覽頁面中的所有腳本標記,查找我的腳本標記,並從中獲取src屬性。

例如

path = ''; 
$('script').each(function(i, script) { 
    var src = $(script).attr('src'); 
    if ('name-of-widgets-file.js' === src.replace(/^.*[\/\\]/g, '')) { 
    return path = src.substring(0, src.lastIndexOf('/')); 
    } 
}); 

這適用於我嘗試過的所有設備,除了3G上的iPhone連接!當通過3G連接時,iPhone會爲腳本標記的src屬性返回undefined

有沒有人有任何想法解決這個問題?可能是另一種獲取當前正在執行的腳本標記的url的方法?

回答

0

我找到了很好的解決方法。

在腳本運行後,我沒有尋找腳本,現在我正在執行腳本執行時的path。在這種情況下,iPhone在3G連接時返回src屬性。

var scripts = document.getElementsByTagName('script'); 
var script = scripts[scripts.length - 1]; 
var src = script.src; 
if (!src) { 
    return ''; 
} 
return src.substring(0, src.lastIndexOf('/')); 
相關問題