2008-11-24 4 views
1

Попробуйте нажать кнопку «Печать» на следующей странице: (ссылка удалена - консенсус в том, что все работает нормально, и проблема была в моей настройке) В целях отладки я заменил кусок javascript простым alert («test»), и даже это не отображается в IE7 для меня. Он отлично работает в Safari, FF (Mac и ПК) и IE6, но по какой-то причине он не работает в IE7. Для справки, код кнопки заключается в следующем:IE 7 не отображает простой оповещение JS?

<a onclick="makeNewWindow()" href="#"><img src="/print.gif"/></a> 

И JS внутри /newsletter/print.js это:

function makeNewWindow() { 
    alert("test"); 
} 

Может кто-нибудь помочь мне понять, если есть способ обойти эту проблему , или если это имеет какое-то отношение к тому, что я запускаю «IE7 Standalone» через Parallels на моем Mac? Любая помощь приветствуется.

Спасибо, Майк

+1

ничего с вашим вопросом, но вместо этого href = "#" использовать href = "javascript: void (0);" поэтому вы можете избежать этих прыжков, когда кто-то нажимает на изображение ... как я уже сказал, это не ваш вопрос, а улучшить код в будущем :) – balexandre 2009-05-25 11:26:00

+0

У вас есть какой-то агрессивный блокировщик всплывающих окон? – PQW 2009-05-25 11:31:02

ответ

4

Просто тестировал на IE7 Vista, и она работала хорошо ... Ваш код выглядит звук, как хорошо, так что я думаю, что это может быть проблема с вашей установкой?

2

может быть, что он кэширует старую версию js-файла? попробуйте ctrl-F5

2

Я предполагаю, что у вас есть ошибка с ДРУГИМ кодом javascript, который заставляет ваш браузер просто игнорировать все остальное.

Кроме того, вы можете изменить этот код ... OnClick = «makeNewWindow() возвращают ложь» ... для того, чтобы избежать путаницы

1

Это может быть оригинальный вопрос, но так как У меня была та же проблема, я даю свое заключение, это может быть полезно кому-то другому.

Фактически, я протестировал HTML, просто открыв его из проводника Windows, поэтому у меня есть адрес file:// в адресной строке.
Это прекрасно работает во всех браузерах, кроме Internet Explorer 7 (и, возможно, выше).
Фактически, когда я открыл этот файл в IE7, я получил предупреждение о проблемах безопасности с локальным файлом со сценарием. У них так много нарушений безопасности, что они чрезмерно защищены ...

Оказалось, что alert() просто отключен в этом локальном режиме, и я не смог найти настройки безопасности, чтобы включить его (не слишком сложно искать). .).
Я, наконец, бросил файл в каталоге www моей локальной установки Apache (используя WampServer 2, но, возможно, другие дистрибутивы), и открыл его через http://localhost, а поведение alert() было в порядке ...

Я также обнаружил, что javascript:alert("Foo"); в адресной строке просто полностью деактивирован, неистовый «дизайн» выбор ... это было просто слишком удобно.

0

Ответ на первый ответ - т.е. использовать href='javascript:void(0);' вместо href='# '. В вашем случае используйте href='javascript:yourFunction();', и он должен работать. Кажется, что IE дает приоритет href над onclick (другие браузеры этого не делают). Кроме того, если у вас нет href, вы получаете сообщение об ошибке, не найденной.

Смежные вопросы