2010-01-02 5 views
0

Я использую gwt с google-картами api, и у меня есть набор скрытых infowindows. в одном из них я хочу, чтобы был запущен недавний скрипт твитов. он отлично работает в firefox, но он появляется как пустой в ie и chrome. heres HTML, который помещается в вкладку:Javascript работает в firefox, но не IE или chrome

 HTML recentTweets = new HTML(
      "<body>"+ 
      "<div style='color: #ffffff; background-color: #010101'>"+ 
      "<script type='text/javascript' src='http://twitter.com/javascripts/blogger.js'></script>"+ 
      "<script type='text/javascript' src='http://twitter.com/statuses/user_timeline/stephenathome.json?callback=twitterCallback2&amp;count=3'></script>"+ 
      "</div>"+ 
      "</body>"); 

Кто-нибудь понимает, почему это может произойти? благодаря!

+0

Почему вы используете версию своего блога 'blogger.js'? –

+0

Потому что он форматирует текст, как я его хочу (раз, когда твит со ссылкой на страницу статуса твита). может ли это быть проблемой? –

ответ

1

Чтобы добавить к тому, что написал Хавьер Бадиа, ваш лучший шанс создания веб-страниц, которые работают во всех популярных браузерах является (1) использовать валидаторы, чтобы убедиться, что ваш HTML и CSS придерживаются стандартов, и (2) Поймите, какие биты стандарта делают определенные браузеры капризными.

Существует много валидаторов. Я одобряю Marc Gueury's HTML Validator plugin for Firefox, потому что он проверяет каждую поднятую страницу без необходимости спрашивать ее. В правом нижнем углу окна браузера он помещает зеленый флажок или красный X вправо, где он попадает вам в глаза. Наличие «всегда на» делает его довольно безболезненным. Кроме того, он проверяет офлайн, поэтому нет необходимости отправлять свою страницу на внешний сервер. В зависимости от ваших потребностей могут быть другие валидаторы HTML, которые подойдут вам или лучше.

Я не буду рекомендовать валидатор CSS, потому что пока не нашел хорошего.

1

Этот HTML-код, простите меня, ужасный. У вас есть кавычки в неправильных местах (например, в атрибуте стиля div), у вас есть body внутри таблицы внутри tr внутри td (это должно быть наоборот). Очень вероятно, что Firefox справляется с чем-то с этим, но другие механизмы рендеринга отказываются и ничего не отображают. HTML должен выглядеть следующим образом:

<body> 
<div style="color: #ffffff; background-color: #010101"> 
    <script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script> 
    <script type="text/javascrip\" src="http://twitter.com/statuses/user_timeline/Stephenathome.json?callback=twitterCallback2&amp;count=5"></script> 
</div> 
</body> 

Что в переводе на Java является:

HTML recentTweets = new HTML(
    "<body>"+ 
    "<div style='color: #ffffff; background-color: #010101'>"+ 
     "<script type='text/javascript' src='http://twitter.com/javascripts/blogger.js'></script>"+ 
     "<script type='text/javascript' src='http://twitter.com/statuses/user_timeline/Stephenathome.json?callback=twitterCallback2&amp;count=5'></script>"+ 
    "</div>"+ 
    "</body>"); 
+0

Я знаю, что это выглядело плохо, моя вина. Сегодня я пытался написать код 30 раз, и это был последний способ, которым я пытался, прежде чем я решил приехать сюда и спросить. Я редактировал op. Одна вещь, которую вы предположили, что я думал, может работать, заключается в изменении двойных кавычек на одинарные кавычки в java, но это не сработало. я написал код так, чтобы он работал в ie и chrome, когда я открываю его как .html, но когда я делаю его java, он работает только в firefox. есть идеи? –

+0

Ну, если это не помогло, я не уверен, что смогу помочь. Я думал, что это проблема HTML. – Javier

0

Если это часть проекта GWT, это происходит локально? Если это проблема, скорее всего, только из-за ограничений на локальные файлы размещают проект на удаленном веб-сервере, и он должен работать нормально.