【发布时间】:2011-05-03 15:17:10
【问题描述】:
我正在开发一个网络应用程序,它可以根据应用程序要求动态更改 URL 中的哈希位置。
我正在使用 window.location.hash 来改变它。它在所有浏览器中都能正常工作。对于地址中的任何 hashchange,我使用了 hashchange 事件,它在检测到 hashchange 后执行所需的操作。
但这些事件在 Blackberry OS5 浏览器中不起作用。为了测试,我使用的是 BB OS5 9700 模拟器的浏览器。下面我添加了示例代码。
<html>
<head>
<title>jQuery Address API</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="jquery-1.5.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
window.location.hash=("#issue1");
$(window).bind('hashchange', function() {
alert('firedonchange');
});
});
</script>
</head>
<body>
<h1> HASH ADDRESS CHANGE TEST</h1>
</body>
在上面的示例代码中,如果我给出了 url http://test.stk.net,那么它将更改为 http://test.stk.net/#issue1,它会在 hashchange 上提醒给定的值。它适用于浏览器,例如 Mozilla、chrome、safari、移动 safari、android 原生浏览器,但在 BB OS5 浏览器(例如 BB 9700 模拟器的浏览器)中,地址中的哈希更改不起作用。
如果我的代码中缺少某些内容或更改 URL 中的哈希部分的替代方法,任何人都可以建议我。
任何帮助将不胜感激。谢谢
【问题讨论】:
标签: javascript blackberry