2011-08-25 71 views
0

我正在加載包含AJAX內容中的JavaScript函數的AJAX內容。我正在使用jQuery .load函數並在完成時調用done()。IE問題:不會執行JavaScript作爲AJAX內容的一部分加載

$('#content').load(a, done); 

function done() 
{ 
    if(pagejs() == 'function') 
    { 
     pagejs(); 
    } 
} 

我無法獲得在IE 9中執行的功能,但在FF和Chrome中腳本執行得很好。在IE中,我得到一個SCRIPT5007:預計對象錯誤在if(pagejs() == 'function')行。

我添加了兼容性元標記: <meta http-equiv="X-UA-Compatible" content="IE=8" />仍然沒有成功。

這裏是AJAX內容的一個示例:

<div id="about"><h1>About This Website</h1> 

<script type="text/javascript"> 
function pagejs(){alert('content was loaded from dynamic script');} 
</script> 

<p>This is test AJAX content</p> 

在IE中,所述pagejs();是未定義的。有人可以告訴我如何讓IE識別這個腳本嗎?謝謝。

回答

1
pagejs() == 'function' 

執行pagejs,並確定它的返回值的字符串function

你想要typeof pagejs === 'function'

+0

謝謝你,工作完美! – rscavilla