У меня была проблема с некоторыми функциями, работающими во всех браузерах, кроме Safari, и я уменьшил проблему до этого.
На моей странице у меня есть следующие объявления скрипта в конце моего элемента body:
<script type="text/javascript" src="../../Scripts/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery-ui-1.8.11.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.ui.autocomplete.html.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.validate.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.textchange.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.reveal.js"></script>
<script type="text/javascript" src="../../Scripts/mainScript.js"></script>
Затем в файле mainScript.js я поместил следующий код:
$(function () {
alert("found");
});
Во всех других браузерах отображается окно сообщения, а в Safari -ничего такого.
Отладчик Safari javascript перечисляет сценарий и может видеть его содержимое, но по какой-то причине он не включен.
Я обнаружил эту проблему, так как пытался вызвать функцию из mainScript.js извстроенный сценарий внутри html-страницы (встроенный сценарий был определен ниже определения mainScript.js), и отладчик Safari пожаловался на то, что функция нигде не найдена.
Что я здесь сделал неправильно и почему нетSafari включает этот скрипт.Все скрипты jquery включены и работают нормально.