为所有外部链接Blogspot创建重定向页面

时间:2017-09-21 12:29:39

标签: javascript html url-redirection blogger blogspot

我希望在离开我的网站时将部分外部链接重定向添加到我的特定页面。 我之前尝试过safelink,但是需要创建其他新博客来重定向所有外部链接。

我的意思是,例如:
https://updated2apks.blogspot.co.id/2017/09/whats-different-100-mod-apk.html

如果点击外部链接,它会重定向到特定页面

https://updated2apks.blogspot.com/p/your-apk-is-ready-for-download.html?id=com.qs.whatsdifferent.html

最后离开博客并转到目标链接(外部) 因为这是Blogspot平台,我尝试在谷歌搜索,但它缺乏教程。我希望这里有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题是正确的,这是一个可能的解决方案,它会将页面首先重定向到您的页面而不是外部页面。
(这必须在主题中完成)

以下是一个例子:
(如果外部网址使用参数,则必须调整代码)

<script>
    // Here we check if the current page is the redirect catch page
    if("http://URL_THAT_SHOULD_CATCH_REDIRECTS.html" === "<data:blog.url/>")
    {
        // Here we assume there is only one parameter in the URL, with our external Link
        var parameter = location.search.split(/\?|=/g).slice(1);
        // Here we check if the size of the array is valid, checking for the parameter name would be also good. Maybe even checking if the passed URL is valid
        if(parameter.length===2){
            // Here we redirekt to the URL that is the Value of the passed parameter
            location.href=parameter[1];
        }

     }
</script>   
  

示例结果:

     

外部网址 是&#34; www.google.com&#34;
   要重定向到 的网址是&#34; great.blogger.com/p/redirect_page.html"
   博客的标记 <a href="http://"great.blogger.com/p/redirect_page.html?redirect=www.google.com">LINK</a>

<强> 提示: 如果外部URL具有参数,则必须对url进行编码。如果重定向Url具有参数,则必须找到包含URL的正确参数。

<强> 的信息: 如果将href直接设置为外部页面,则需要额外的代码才能创建正确的重定向链接,使用EventListener标记上的a来阻止默认行为,而不是重定向码。 (这里有一些Infos on MDN about preventDefault function

看起来像这样:

document.getElementById("aLinkId").addEventListener("click", function(e){
    e.preventDefault();
    // Here we redirect to the wanted page, with the extra parameter, with the original external URL
    location.href = "REDIRECT_URL?redirect="+ document.getElementById("aLinkId").href; 
});
  

使用Chrome 60 +

测试的所有代码