Javascript обратный вызов на ежевику - PullRequest
1 голос
/ 12 апреля 2010

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

Например, если у меня есть такой код:

var scriptText = document.createElement('script');
scriptText.type = 'text/javascript';
scriptText.id = 'thisScript';
scriptText.innerHTML = 'alert("hello");';
document.getElementById('idName').appendChild(scriptText);

alert(document.getElementById('thisScript')); //Alerts the script element.

Это предупредит "привет" в настольных браузерах и даже в iPhone / iPodTouch, но не в BlackBerry. У кого-нибудь есть идеи, почему? Или если есть исправление / взлом?

Ответы [ 2 ]

0 голосов
/ 03 мая 2010

Поддержка Javascript на устройствах BB не является полной. Вы можете выполнять основные функции, но расширенные функции, такие как манипулирование DOM, не имеют большой поддержки. Это верно для большинства мобильных устройств, за исключением Android, iPhone и WebOS. Новые версии устройств BB будут решать эту проблему.

0 голосов
/ 12 апреля 2010

Вы изучали использование библиотеки jQuery для javascript? Вам просто нужно включить библиотеку скриптов jQuery:

<script type="text/javascript" src="jquery.js" ></script>

... затем динамически добавьте ваше оповещение в функцию jQuery ready ():

$(document).ready(function() {
    $('#header').append('<div class="testButton" onclick="alert(123)">Menu</div>');

    //or just like this:
    alert('hello 123');
...