Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript更改页面被添加书签时使用的URL_Javascript_Url_Bookmarks - Fatal编程技术网

使用JavaScript更改页面被添加书签时使用的URL

使用JavaScript更改页面被添加书签时使用的URL,javascript,url,bookmarks,Javascript,Url,Bookmarks,不允许您在不触发重新加载的情况下更新窗口位置。虽然我原则上同意这一政策(不可能访问我的网站并让JavaScript将位置栏更改为www.yourbankingsite.com),但我认为应该可以将www.foo.org/index更改为www.foo.org/help 我关心这个的唯一原因是为了书签。我正在使用照片浏览器,当用户预览特定图像时,我希望该图像成为默认图像,如果他们应该将该页面作为书签。例如,如果他们正在查看foo.org/preview/images0-30,并单击图像#15,则该

不允许您在不触发重新加载的情况下更新
窗口位置。虽然我原则上同意这一政策(不可能访问我的网站并让JavaScript将位置栏更改为
www.yourbankingsite.com
),但我认为应该可以将
www.foo.org/index
更改为
www.foo.org/help

我关心这个的唯一原因是为了书签。我正在使用照片浏览器,当用户预览特定图像时,我希望该图像成为默认图像,如果他们应该将该页面作为书签。例如,如果他们正在查看
foo.org/preview/images0-30
,并单击图像#15,则该图像将展开为中等大小的视图。如果他们随后为页面添加书签,我希望书签URL为
foo.org/preview/images0-30/active15


有什么想法吗,或者这一点上也有安全屏障吗?我当然可以理解这里应用的相同策略,但你可以做梦。

你可以在页面上添加
[add to Favorites]
按钮

样本: 或者使用以下jQuery插件之一:

和/或 使用URL并在末尾使用散列,然后根据该散列值加载内容(图像等)

function onLoad() {
    if (window.location.hash == "image1") {
        // load image1
    }
}
还有很多用于处理URL哈希事件的jQuery插件,例如:

还有很多非jQuery JavaScript库,例如:


如果URL包含哈希值,如何在页面加载时检测该URL,如果包含哈希值,则将其定向到您希望其访问的页面?

您可以在不重新加载页面的情况下向URL添加锚定,并使用javascript获取该锚定:

location.href = '.../#' + imageId;

如前所述,对于ajaxy站点,通常需要操纵/检查URL的散列部分(
window.location.hash
)来确定此类活动


最大的问题是确保检查DOM就绪/窗口加载中的哈希,就像用户单击给定的图像一样。这将适用于浏览器和书签,但可能会妨碍搜索索引。

听起来您应该签出。这就是谷歌(比如Gmail)允许任何页面都可以添加书签(并且有历史记录),但不刷新整个页面的方式

至于事情的另一面(让人们访问你的网站,然后自动弹出正确的图像),我会尝试在页面加载后检查window.location.hash并基于此触发事件。


<html>

<head>
<script type="text/javascript">
function myHref(){
    document.getElementById('myAnchor').innerHTML="Visit Google"
    document.getElementById('myAnchor').href="http://www.google.com"
}
</script>
</head>

<body>
    <a id="myAnchor" href="http://www.java2s.com">Visit Java2s</a>
    <form>
        <input type="button" onclick="myHref()" value="Change URL and text">
    </form>
</body>

</html>
函数myHref(){ document.getElementById('myAnchor').innerHTML=“访问谷歌” document.getElementById('myAnchor')。href=”http://www.google.com" }
<html>

<head>
<script type="text/javascript">
function myHref(){
    document.getElementById('myAnchor').innerHTML="Visit Google"
    document.getElementById('myAnchor').href="http://www.google.com"
}
</script>
</head>

<body>
    <a id="myAnchor" href="http://www.java2s.com">Visit Java2s</a>
    <form>
        <input type="button" onclick="myHref()" value="Change URL and text">
    </form>
</body>

</html>