在冰淇淋三明治的 Android PhoneGap 应用程序中单击锚标记时加载页面时出错
我正在使用 phonegap 1.3 和 jquery mobile 1.0 开发 android Phonegap 应用程序 我的应用程序在 4.0.0 之前的所有 Android 版本中运行得很好
但在 4.0.0 及更高版本中,我面临一个问题。我有一个锚点,当用户单击时,会将其带到另一个“页面”。
<div class="ui-input-share ui-btn-corner-all ui-body-c" id="mk_home">
<a href="javascript:void(0);" class="ui-input-text" data-role="none" >Whats up?</a>
</div>
在具有 android 4.0.3 的模拟器中,当我单击此按钮时,我收到一条错误消息 “加载页面时出错” 当我检查 logcat 中的日志时,我看到一条错误消息,提示
Unknown chromium error: -6
为我该怎么做才能让它发挥作用?
i am developing an android phonegap app using phonegap 1.3 and jquery mobile 1.0 My app works perfectly fine in all android versions before 4.0.0
But in 4.0.0 and above im facing an issue. I have an anchor which when users click, takes the to another 'page'.
<div class="ui-input-share ui-btn-corner-all ui-body-c" id="mk_home">
<a href="javascript:void(0);" class="ui-input-text" data-role="none" >Whats up?</a>
</div>
In the emulator having android 4.0.3, when i click on this i get an error saying "Error loading page" When i check the logs in logcat, i see an error saying
Unknown chromium error: -6
any idea as to what can i do to get it working?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
由于您使用的是 jQuery,我建议您也使用
jQuery
来连接您的事件。话虽如此,使用e.preventDefault()
;和e.stopImmediatePropagation();
应该阻止jQuery
mobile 对 .更新
使用现有标记的更好方法是简单地将 rel="external" 添加到您的标记中,并且您的 onclick 应该表现正确。
这将起作用,因为 jQuery Mobile 会将链接视为普通标签,并且返回 false 将简单地停止默认操作。
Since you are using jQuery I would recommend to use
jQuery
to wire up your events as well. With that being said usinge.preventDefault()
; ande.stopImmediatePropagation();
should stopjQuery
mobile from performing the default action on the .Update
The better way to use your existing markup would be to simply add rel="external" to your And your onclick should behave correctly.
This will work since jQuery Mobile will treat the link as a normal tag and return false will simply stop the default action.
在 jQuery Mobile 中,当您想使用
时
,您最好在中使用 rel="external" ,以便正确跳转到目标页面。
如果你想使用JavaScript,最好不要在
中使用,因为href是哈希分配而不是JavaScript代码属性。
jQuery Mobile 不支持锚点。如果需要使用anchor,就必须要做一些权衡。您可以参考此链接,jQuery Mobile 锚点链接
In jQuery Mobile, when you want to use
<a href=...> </a>
, you'd better use rel="external" in<a>
, in order to jump to target page correctly.If you want to use JavaScript, you'd better not to use in
<a href='...'>
, because href is hash allocation but not JavaScript code attribute.jQuery Mobile do not support anchor. If you need to use anchor, you have to do some trade-off. You can reference this link, jQuery Mobile Anchor Linking
出现此错误是因为 ics 中的 webkit 在处理
url 时出现问题。因此,如果您有一个类似于您点击的网址
,那么您会收到这样的错误。目前最好的解决方法是在浏览器中测试您的 Web 应用程序,看看您何时何地向 url 添加参数并删除这些参数。
您可以将这些参数保存在本地存储中并在需要时检索。
This error was coming because webkit in ics is broken in handling
with urls. So if u have a url like
which u hit, then you would get such an error. The best fix for now would be to test your webapp in browser and see when and where you add params to the url and remove those.
You can in place save those params in localstorage and retrieve when needed.
有时 jquery 本身会在 ajax 请求中添加这些 url 参数。当您激活缓存时就会出现这种情况。
您可以使用以下命令轻松地为整个项目禁用此功能:
希望这对某人有帮助。
Sometimes the jquery itself adds those url params in ajax requests. This is the case when you activated caching.
You could easily disable this feature for the whole project using:
Hope this helps somebody.