所以我有一个图像库的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)附加到网址。所以,如果我有一个 如果选择了thir图像,则会有多个图像的图库,网址将如下所示: mysite.com/gallery.html#image-3
一切都好。但我真的不喜欢这个被附加到网址的末尾。那是有的 如果我完全删除这部分脚本会有什么问题吗?所以无论多少 当前选择的图片网址将如下所示: mysite.com/gallery.html
我已经测试过,它运行正常。但我对javascript并不是很有经验,我想要 确保我没犯错。所以 如果我完全删除这些脚本,那还可以吗?会引起任何问题吗?
非常感谢。
答案 0 :(得分:1)
URL末尾的哈希值是可选的,不是必需的,因此,如果需要,可以删除该脚本(我不确定您尝试通过删除它来解决什么问题)。一般来说,如果您告诉我们您要解决的问题而不是您尝试使用的解决方案,那么您会获得更多有用的答案。
当您希望页面的URL将查看器定向到该页面上的某个子内容时,将使用哈希。如果您删除它们,您的页面仍然可以正常工作,但页面的URL将不会反映正在显示的图像。因此,如果查看者保存该URL并返回该URL或链接到该URL或任何保留对URL的引用的内容,则它将转到页面的通用版本,而不是显示特定图像的onet。这是否正常完全取决于您以及您的网页如何运作。
答案 1 :(得分:0)
只需使用:
location.replace(location.href + "#myhash");
location.replace方法会覆盖浏览器历史记录中的当前步骤。有关此操作的示例,请参阅http://prettydiff.com/slideshow/
答案 2 :(得分:0)
octothorpe之后的内容通常表示来自网页的“名称”或“id”。您可以拥有一个锚标记(<a name='thevalue'>
),浏览器将通过滚动到页面上的相关部分来解释octothorpe(http://example.com#thevalue
)之后的文本。
除非页面具有特殊的JavaScript以表现不同。在您的情况下,它取决于您正在编写的网页的完整功能。如果您有烟雾测试/单元测试/用例测试/其他QE测试,您应该执行这些测试以确保您的更改不会破坏任何内容。
有关标准用法的更多说明,请参阅http://www.w3schools.com/html/html_links.asp。