更新窗口哈希(位于url)
Update window hash (at url)
所以我有一个图像库的js代码:
(this.settings.update_window_hash) {
var thumb_link = this.images[this.current_index].thumb_link;
if (thumb_link.attr("id")) {
window.location.hash = "#image-"+ thumb_link.attr("id"); //#url
} else {
window.location.hash = "#image-"+ this.current_index;
};
};
因此,正如您可能已经假设的那样,这会将$image-(int)附加到url中。所以如果我有带有多个图像的图库如果选择了第三个图像,url将如下所示:mysite.com/gallery.html#image-3
一切都很好。但是我真的不喜欢把这个附加到url的末尾。那是吗如果我完全删除脚本的这一部分,会有什么问题吗?所以不管当前选择的图像url将如下所示:mysite.com/gallery.html
我测试过了,效果还可以。但我对javascript不是很有经验,我想要以确保我没有犯错误。所以如果我完全删除这个脚本可以吗?它会引起什么问题吗
非常感谢。
URL末尾的哈希是可选的,不是必需的,所以是的,如果你愿意,你可以删除该脚本(我不确定你想通过删除它来解决什么问题)。一般来说,如果你告诉我们你试图解决什么问题,而不是你试图使用什么解决方案,你会得到更有用的答案。
当您希望页面的URL将查看器引导到该页面上的某个子内容时,会使用哈希。如果删除它们,您的页面仍然可以正常工作,但页面的URL不会反映显示的图像。因此,如果查看器保存了该URL并返回到该URL或链接到该URL,或者任何保留对该URL的引用的内容,则它将转到页面的通用版本,而不是显示特定图像的版本。这是否可以完全取决于你和你的页面如何工作。
只需使用:
location.replace(location.href + "#myhash");
location.replace方法覆盖浏览器历史记录中的当前步骤。有关此操作的示例,请参阅http://prettydiff.com/slideshow/
octhorpe后面的东西通常表示网页中的"名称"或"id"。您可以有一个锚定标记(<a name='thevalue'>
),浏览器将通过滚动到页面上的相关部分来解释八通符(http://example.com#thevalue
)之后的文本。
除非页面有特殊的JavaScript来表现不同的行为。在您的情况下,这取决于您正在编写的网页的全部功能。如果你有烟雾测试/单元测试/用例测试/其他QE测试,你应该执行这些测试,以确保你的更改不会破坏任何东西。
请参阅http://www.w3schools.com/html/html_links.asp有关标准用法的更多说明。
- 如何使用url加载程序在webpack中导入多个图像
- 使用php或javascript从facebook相册URL中删除多余的部分
- Angular JS IE9 Hashbang url rewriting
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 直接下载文件,而不是从window.open(url)
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 通过js在新选项卡中有条件地打开url
- CKFinder 3为所选文件返回错误的URL
- 如何获取不属于我项目的上一页的URL
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 在URL中传递JS对象
- 将纯文本URL转换为可单击链接
- Javascript html每点击一次就会更改url
- 这个关键字位于$.ajax()中,用于调用其他函数来设置url
- 更新窗口哈希(位于url)
- 位于[url]的页面在chrome中运行了来自[url]的不安全内容
- 如果文件的URL位于客户端系统中,则使用javascript将任何类型的文件转换为Base64
- 如何在不显式声明url的情况下调用位于js文件同一文件夹中的php文件
- 试图打印一个位于Javascript对象内部的url
- 更改位于具有ID的DIV中的图像的URL