2014-09-23 52 views
0

我想告訴一個對象是否在運行時通過ajax調用外部JavaScript加載時成功創建。這是必需的,因爲加載的腳本有時可以在創建全局作用域變量(可以有多種名稱)之前處理數據20秒,並且需要等到該腳本在使用該對象之前完成。如何從字符串變量動態判斷對象是否存在

我想一個功能我可以打電話,將這樣的表現

function is_object_loaded(objectname) 
{ 
if (typeof objectname !== "undefined") { 
     // do something 
    } 
} 

is_object_loaded("demographic_pail"); 

很顯然,我需要將對象名成字符串以外的東西;我拒絕評估,除非它完全無法避免。

謝謝!

+0

地址:}其他{返回的setTimeout(is_object_loaded.bind(這,對象名),100);} – dandavis 2014-09-23 20:10:17

+2

'if(typeof window [objectname]!==「undefined」)'應該可以工作,儘可能地......但爲什麼不在加載的腳本的末尾使用回調函數?爲什麼只有在* *已知*時才能調用該對象才能輪詢對象? – 2014-09-23 20:11:48

+0

我不明白這是怎麼回事,但是在對象可用之前,腳本在回調中成功返回。 – 2014-09-23 20:19:21

回答

0
function is_object_loaded(objectname) { 
    if (typeof window[objectname] !== undefined) { 
     // do something 
    } 
} 
0

你可以用戶async:false,直到被執行的AJAX的ajax和一切財產等待

$.ajax({ 
    .... 
    async:false, 
    }); 
相關問題