我希望在离开我的网站时将部分外部链接重定向添加到我的特定页面。 我之前尝试过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平台,我尝试在谷歌搜索,但它缺乏教程。我希望这里有人可以帮助我。
答案 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 +
测试的所有代码