首页 > 解决方案 > 如何删除自动作为后缀附加到 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;

标签: javascripthtmlblogger

解决方案


首先,您不能在移动设备中删除m=1m=0从链接中删除,这是所有博主 blogspot 的义务。

您的重定向链接应该有一个查询名称,您应该将前缀脚本中的重定向链接从更改?='www.yourcontent.com'为类似的?link=www.yourcontent.com

现在,如果您有这样的链接: /p/confirmation.html?link=www.yourcontent.com&m=0,您可以轻松提取目标链接,而无需删除m=1or 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 : '#';
});

推荐阅读