【问题标题】:Javascript callback on blackberry黑莓上的 Javascript 回调
【发布时间】:2010-04-12 14:50:46
【问题描述】:

我正在开发一个移动项目,我有一个在后端动态生成的脚本,然后附加到文档(html 页面)中。桌面浏览器似乎正确地附加了脚本并调用脚本中的任何函数,但是,我无法在黑莓手机上发生这种情况。我知道脚本正在附加,因为我可以在附加后提醒它。我只是可以让它调用脚本中的函数。

例如,如果我有这样的代码:

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 中发出“你好”的提示,但在黑莓上则不会。有人知道为什么吗?或者是否有修复/破解?

【问题讨论】:

  • 转到浏览器->选项->浏览器配置->向下滚动->启用“支持JavaScript”->保存选项

标签: javascript blackberry mobile mobile-phones


【解决方案1】:

BB 设备上的 Javascript 支持并不全面。您可以执行基本功能,但 DOM 操作等高级功能没有很好的支持。大多数移动设备都是如此,Android、iPhone 和 WebOS 除外。较新版本的 BB 设备将解决此问题。

【讨论】:

    【解决方案2】:

    您是否考虑过将 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');
    

    【讨论】:

    • 在手机中加载一个大图书馆并不总是一个好主意。
    • 只有最先进的设备才能处理像 jquery 一样复杂的 javascript。
    • 我喜欢 jQuery,但它让我害怕人们对于最简单的事情的默认速度有多快。而且在有限的平台上也不少。
    猜你喜欢
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多