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

IE Problem: Won't execute javascript loaded as part of AJAX content

本文关键字:一部分 加载 javascript AJAX 问题 执行 IE      更新时间:2023-09-26

我正在加载AJAX内容,其中包含AJAX内容内的javascript函数。我使用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识别这个脚本吗?谢谢你。

pagejs() == 'function'

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

你想要typeof pagejs === 'function'

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