javascript - 使用 JavaScript 代替超链接

标签 javascript html

随着 RIA 和 SPA(或大量使用 javascript 的网络应用程序)变得越来越流行,我一直在使用这样的系统,而不是使用旧的 a href超链接,我看到他们利用结构使用 onclick使用操纵导航的 JavaScript 代码。图像尤其如此。

例如,而不是看到这样的东西:

<a href="some_url"><img src="...."/></a>

<div ... onclick='SomeJsFunctionThatNavsToAnotherPage()'><img src="..."/></a>

这样做有什么好处?这使得在调试或试图找出错误的根源时很难跟踪页面转换到哪里。当要导航的目标发生变化时,我可以知道(所以是的,在这里您可以使用一个函数来计算要导航到的页面。)

但即使要导航到的页面不变,我也会看到这种模式。我发现这非常复杂且难以测试。更不用说总是存在来自某些浏览器的特定于浏览器的错误(遗憾的是,根据我的经验,前端过于复杂。)

但我不是 RIA/SPA 开发人员(只是后端和传统 Web 开发)。 我是否遗漏了这背后的基本原理?


澄清

我的问题不是针对重绘页面或更改当前内容而不更改当前位置的情况。我的问题是简单的 旧的过渡,从页面 A 到页面 B。

在这种情况下,为什么要使用 onclick=funcToChangeLocation()<a href="some location"/> .

在对已编写的系统 进行故障排除时,这对我来说一直很痛苦(因为我不会那样写),但可能有一些我不知道的原因。

同样,我的问题不是针对在不更改浏览器位置的情况下自行重绘的页面,而是针对从一个页面到下一个页面的导航。


还有

如果您打算投票结束此问题,请至少留言解释原因。

最佳答案

如果您正在制作 Web 应用程序,有时您不想将用户重定向到另一个页面,而是希望在不刷新页面的情况下动态更改页面内容。它有一些优点。它可以更快。您可以轻松地保持页面/应用程序的状态。您没有义务与服务器通信。您只能更新页面的一部分。

您还可以动态请求数据来打印页面。如果要显示用户个人资料页面,则只能询问代表用户的 json 对象。这个json对象比整个页面都小,会被动态渲染。当您的带宽有限时,它可以帮助减少用户和服务器之间的数据传输。

编辑:在简单的页面重定向的情况下,我认为这是一种不好的做法,我看不出有什么好处。我认为当谷歌爬虫试图解析网站时,它会混淆网站。

关于javascript - 使用 JavaScript 代替超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39030288/

相关文章:

javascript - $setvalidity 未按指定条件设置错误

Javascript while 循环使页面无法加载

javascript - Microsoft Dynamics CRM 2015 计算字段如何工作?

javascript - 在 reduce 函数中使用变量

javascript - 在 meteor 中,如何通过单击按钮隐藏表单?

javascript - 在 GWT 中捕获字体调整大小事件

jquery - 如何在第5个零之后加1?

javascript - 访问指令的隔离范围与嵌入的内容

javascript - jsrender中的AND运算

javascript - 如何使用 JavaScript 获取 CSS 样式并更改值