javascript - location.href 返回奇怪的 URL

标签 javascript location-href

我正在使用 location.href 获取浏览器地址栏中存在的完整 URL。
要提供更多详细信息,请务必注意我们的服务有一个 js 文件,该文件将包含在我们的客户站点中。所以这个 JS 文件将生成申请人的完整 URL。

我认为这个 URL 不知何故是重定向到真实域的先前 URL,但我应该如何阻止此操作?

为 iframe 的 src 属性生成链接的 JS 代码行是:

'http://sd.domain.ir/index.php?r=' + Math.floor(Math.random() * (100000000 - 0 + 1)) + 0 + '&ref=' + ((window.btoa) ? btoa(location.href) : 'ie') + '&responsive=' + ((document.querySelector('meta[name="viewport"][content*="width=device-width"]')) ? 'yes' : 'no') + '&params='

申请人UA示例:
Mozilla\/5.0 (Linux; U; Android 4.3; en-us; HUAWEI G620-L72 Build\/HuaweiG620-L72) AppleWebKit\/534.24 (KHTML, like Gecko) Version\/4.0 Mobile Safari\/534.24 T5\/2.0 bdbrowser\/6.1.0.4

Mozilla\/5.0 (Linux; U; Android 4.4.3; en-ae; HTC_One Build\/KTU84L) AppleWebKit\/534.30 (KHTML, like Gecko) Version\/4.0 Mobile Safari\/534.30

Mozilla\/5.0 (Linux; U; Android 4.3; en-us; GT-I9300 Build\/JSS15J) AppleWebKit\/534.30 (KHTML, like Gecko) Version\/4.0 Mobile Safari\/534.30

...

有时 location.href 生成奇怪的 url,我不知道是什么原因。例如:

主要网址如下: http://saten.ir/tag/%D8%A8%DB%8C%D9%88%DA%AF%D8%B1%D8%A7%D9%81%DB%8C-%D8%A7%D9%85%DB%8C%D8%B1%D8%B9%D8%A8%D8%A7%D8%B3-%D9%81%D8%AE%D8%B1%D8%A2%D9%88%D8%B1/

但是location.href返回的URL如下:
http://www.google.com/search?site=&source=hp&ei=mpkeWIvHKYWbsgGtxaSQBg&q=%D8%A7%D9%85%D9%8A%D8%B1%D8%B9%D8%A8%D8%A7%D8%B3+%D9%81%D8%AE%D8%B1%D8%A7%D9%88%D8%B1&oq=%D8%A7%D9%85%D9%8A%D8%B1%D8%B9%D8%A8%D8%A7%D8%B3+%D9%81%D8%AE%D8%B1%D8%A7%D9%88%D8%B1&gs_l=mobile-gws-hp.3...4752.15339.0.16567.0.0.0.0.0.0.0.0..0.0....0...1c.1.64.mobile-gws-hp..0.0.0.UFWL1tf4KDM#scso=uid_WB6ZrwAGHJ0KLAXLjA8j8w_10:2120,uid_WB6aQQAGpZkKLNwFPgmnbA_10:2120

最佳答案

尝试这样做

var myurl = location.origin + decodeURIComponent(location.pathname);

基本上与 location.href 相同,但它应该可以工作

关于javascript - location.href 返回奇怪的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40447215/

相关文章:

javascript - 通过 jQuery 更改背景属性会在 Safari 中造成问题

javascript - JS日期对象通过套接字转换为字符串?

javascript - 如何从 window.location.pathname 中删除尾部斜杠

javascript - 我可以使用 location.href 生成变量的 url 吗?

javascript - 单位圆内的 10 个点 - 寻找 D3 力布局的最佳分布?

javascript - 如何使用 javascript 将一行输入框添加到现有的 html 表单中

javascript - 为什么这个简单的 CORS 请求要进行飞行前选项检查

javascript - addEventListener 中的 location.reload

javascript - location.href 中的 URL 缺少 searchParams

javascript - 简单的返回顶部按钮不适用于 AngularJS