IE问题:不会执行作为AJAX内容的一部分加载的javascript

时间:2011-08-25 21:39:18

标签: javascript ajax internet-explorer dynamic

我正在加载包含AJAX内容中的javascript函数的AJAX内容。我正在使用jQuery .load函数并在完成时调用done()。

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

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

我无法在IE 9中执行该功能,但在FF和Chrome中,脚本执行正常。在IE中,我在if(pagejs() == 'function')行上收到 SCRIPT5007:预期对象错误。

我添加了兼容性元标记: <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识别这个脚本?谢谢。

2 个答案:

答案 0 :(得分:1)

pagejs() == 'function'

执行pagejs并将其返回值与字符串function进行比较。

您想要typeof pagejs === 'function'

答案 1 :(得分:0)

尝试if(typeof(pagejs) == 'function')