【问题标题】:How to create confirmation page for external links如何为外部链接创建确认页面
【发布时间】:2016-11-28 02:42:31
【问题描述】:
我博客的一些下载链接来自一些外部站点。我想放一个这样的确认页面https://codyhouse.co/demo/simple-confirmation-popup/index.html
对于那些说使用外部网站内容的免责声明的链接。访问者可以同意继续或不同意返回我的页面。
如下所示:
(www.example1.com) 点击这里下载(www.example2.com/download.zip)
转到 (www.example1.com/disclaimer.html) 免责声明页面。
同意(访问 www.example2.com/download.zip)
或者,不同意(访问 www.example1.com)
提前致谢。
【问题讨论】:
标签:
javascript
php
jquery
html
wordpress
【解决方案1】:
首先,您需要选择所有这些链接,例如;
var ele = document.querySelectorAll('a[target]');
这将为您提供所有外部链接的数组(在这种情况下,我将它们定义为具有目标属性的任何锚链接,但您可以使用任何东西)
您需要阻止它们中的每一个的默认行为(以便在您显示免责声明之前它们不会去任何地方),例如;
for(var i = 0; i < ele.length; i++) {
ele[i].onclick = function(e) {
e.preventDefault();
}
};
最后在 preventDefault 之后,您需要显示您的弹出窗口,然后在用户正常时将其发送到那里,如果用户不正常,则不执行任何操作(关闭弹出窗口)。在这种情况下,我只是使用确认弹出窗口,但您可以根据需要将其添加到任何 dom 弹出窗口中:
if(confirm('really go to this link?')) {
window.location = this.href;
}
【解决方案2】:
如果你想用简单的 javascript 确认框实现同样的效果,可以通过下面的代码块来完成。
function onClickEvent(){
if(confirm("Your Disclaimer !!!")){
//redirect to the url
location.href = "http://www.example2.com/download.zip";
}
return;
}