IE проблема: не будет выполнять JavaScript, загруженный как часть содержимого AJAX - PullRequest
0 голосов
/ 26 августа 2011

Я загружаю контент AJAX, который содержит функцию javascript внутри контента AJAX.Я использую функцию jQuery .load и вызываю done () по завершении.

$('#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 распознавать этот скрипт?Спасибо.

Ответы [ 2 ]

1 голос
/ 26 августа 2011
pagejs() == 'function'

, который выполняет pagejs и сравнивает возвращаемое значение со строкой function.

Вы хотите typeof pagejs === 'function'

0 голосов
/ 26 августа 2011

Попробуйте if(typeof(pagejs) == 'function')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...