javascript - 如何删除自动作为后缀附加到 url 的 '&m=0'
问题描述
这件事只发生在移动设备中使用。例如 www.example.com&m=0
我正在使用脚本将我的所有链接重定向到一个特定页面,该页面是一个确认页面,当用户点击“确认”时,只有他们被重定向。www.santhaledisom.com/p/confirmation.html?='www.yourcontent.com' 只有在点击“确认”按钮后,它们才会被重定向到 www.mycontent.com。
但它实际上似乎是“www.mycontent.com&m=0”,因此链接不起作用
这件事在桌面版本上运行良好,但在移动设备上使用时却不行。我的网站是基于 Blogger 平台的,即使关闭了 Blogger 的移动模板,它仍然会发生相同的情况。
Confirmation.html 页面有按钮 (Id=myButton)
<script>
//get a reference to the element
var myBtn = document.getElementById('myButton');
var href = document.location.href;
var link = href.split('?=')[1];
//add event listener
myBtn.addEventListener('click', function(event)
{
window.location.href="http://" link; });
</script>
我想这可能是在移动版和桌面版之间切换的东西并将“m = 0”添加到我的所有网址中。
var curl = window.location.href;if (curl.indexOf('m=1') != -1) {curl = curl.replace('m=1', 'm=0');window.location.href = curl;
解决方案
首先,您不能在移动设备中删除m=1
或m=0
从链接中删除,这是所有博主 blogspot 的义务。
您的重定向链接应该有一个查询名称,您应该将前缀脚本中的重定向链接从更改?='www.yourcontent.com'
为类似的?link=www.yourcontent.com
。
现在,如果您有这样的链接:
/p/confirmation.html?link=www.yourcontent.com&m=0
,您可以轻松提取目标链接,而无需删除m=1
or m=0
,使用这些简单的代码行:
var myBtn = document.getElementById('myButton'),
TargetLink;
location.search.substring(1).split('&').forEach(function(par){
var query = par.split('=');
if(query[0]==='link'){ TargetLink = query[1] }
});
myBtn.addEventListener('click', function(){
window.location.href = location.search ? 'http://' + TargetLink : '#';
});
推荐阅读
- docker - Windows 10 Makefile 错误 make (e=2): 系统找不到指定的文件
- c# - 实体框架类中是否有“isRequired”属性?试图获取模型的元数据属性
- html - 为什么需要设置背景大小才能使这种不断变化的线性渐变起作用
- c++ - 为什么 C++ 初始分配比 C 大得多?
- security - 使用 Tshark 提取 PCAP
- typescript - 简化打字模式的重复使用
- javascript - 单击按钮时调用 URL 的正确方法
- jquery - 如何使用 jquery 访问 Azure 网站的本地文件?
- iis - 对预检请求的响应未通过访问控制检查 请求的资源上不存在“Access-Control-Allow-Origin”标头
- python-3.x - 优化加权区间调度算法