- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我一直在自学react-router
, 现在我想知道应该使用哪种方法转到另一个页面。
根据 this post (Programmatically navigate using react router) , 你可以通过 this.props.history.push('/some/path')
转到另一个页面.
不过,老实说,我不太确定 window.location.href
之间的区别。和 history.pushState
.
据我了解,window.location.href = "/blah/blah";
通过进行刷新浏览器的新 HTTP 调用将您带到另一个页面。
另一方面,什么history.pushState
(和 this.props.history.push('/some/path')
)的作用是插入状态。这显然会更改 HTTP 引荐来源网址并因此更新 XMLHttpRequest
.
这是来自 mozila's documentation... 的摘录
Using history.pushState() changes the referrer that gets used in the HTTP header for XMLHttpRequest objects created after you change the state.
对我来说,听起来这两种方法都进行了新的 HTTP 调用。如果是,有什么区别?
任何建议将不胜感激。
附言
我认为开发人员在决定如何转到另一个页面之前需要考虑是否有必要从服务器获取数据。
如果您需要从服务器检索数据,window.location.href
会没关系,因为您将进行新的 HTTP 调用。但是,如果您使用 <HashRouter>
,或者您想避免为了速度而刷新页面,什么是好的方法?
这个问题促使我发表这篇文章。
最佳答案
history.pushstate
不进行新的 HTTP 调用(来自您引用的 mozilla 文档):
Note that the browser won't attempt to load this URL after a call to pushState(), but it might attempt to load the URL later, for instance after the user restarts the browser.
window.location.href = "url"
将浏览器导航到新位置,因此它确实发出新的 http 请求。 注意:当您将新 url 指定为散列片段时会出现异常(exception)情况。然后窗口就滚动到相应的 anchor
您可以在打开“网络”选项卡的情况下从 devTools 控制台检查是否正在运行它们。请务必启用“保留日志”选项。网络选项卡列出了所有新的 http 请求。
关于javascript - window.location.href 与 history.pushState - 使用哪个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47583856/
我正在尝试在 python 中编写正则表达式来查找目录路径:我的文本如下所示: text = "The public disk is: \\\\diskA\\FolderB\\SubFolderC\\
我想写一个LocationListener,它把最近最精确的位置作为它的位置。我打算在我的 LocationListener 中使用此代码: @Override public void
我想建立一个有光泽和 plotly 的交互式图表。 Shiny 有一个内置功能来获取有关用户交互的信息。比如:input$plot_click、input$plot_dblclick、input$pl
我正在使用 MobileFirst 提供的 WL.Device.Geo.acquirePosition(onGeoLocationSuccess, onGeoLocationFailure, opti
我最近开始使用 ionic 框架,它里面有 angular js。为了在屏幕之间导航,我使用了 $location.path 并且效果很好。但是,在我下载的一个示例中,我看到 $state.go 被用
谁能解释一下这种行为?我使用 history.pushState(null, null, '#test'); 推送历史状态。然后,当尝试使用console.log(window.location.ha
这里是相关代码: https://www.facebook.com/sharer/sharer.php?u={{$location.absUrl()}} https://www.facebook.c
这两个重定向之间有什么区别?我有一个应用程序,当我使用时,它可以在 chrome 和 android 4 上正常工作,但在 android 2.x.x 上不能正常工作 document.locatio
JavaScript 的区别是什么 window.location.href = window.location.href 和 window.location.reload() 功能? 最佳答案 如果
有什么区别 window.location.href="http://example.com"; window.location.replace("http://example.com"); wind
JavaScript 的区别是什么 window.location.href = window.location.href 和 window.location.reload() 功能? 最佳答案 如果
以下 3 个指令之间有区别吗? location ~* \.(png)$ { expires max; log_not_found off; } location ~ \.(png)$ {
位于正文末尾之前的以下脚本在 Internet Explorer 和 Chrome(以及任何其他浏览器)中都会被调用。但重定向到指定的 URL 仅发生在 IE 中。我还尝试了 window.locat
我正在使用 Angular ngRouter。我需要更改 url 路径以及搜索参数。我知道 $location.path 和 $location.search,但是有没有一个函数可以同时设置它们? 最
在angularjs中用$location和window.location哪个更好。 例如,我们可以使用$location.path() 或window.location.href 来完成同样的工作。
我在我的网站上使用上述 2 个命令。似乎它们对 95% 访问它应该触发的页面的人有效,但对其他人则不会。 有谁知道是否可以完全阻止这些 javascript 命令?我真的很头疼为什么它们有时不起作用。
这是我无法弄清楚的另一个错误。 我有这个类ExtendedLocation extends Location实例化时抛出 ClassCastExceptioncurrentGpsLocation =
我一直在尝试简单地将一个包含两个变量(一个字符串和一个位置)的类推送和读取到 firebase,但我一直收到此错误。 **com.google.firebase.database.DatabaseEx
我注意到 iPhone 上的“常用位置”似乎比监控 iOS 访问的应用程序 (https://developer.apple.com/reference/corelocation/clvisit) 使
在我的 javascript 代码中,在某些时候,我需要刷新窗口(用户上传了新图片但在页面中仍然可以看到它) 我想知道为什么 location.href = location.href 不刷新窗口?
我是一名优秀的程序员,十分优秀!