我正在开发内部使用的链接免责声明页面以及我遇到的问题是将传出的URL放到页面上的链接中。下面的代码是我用来获取我需要的GET值并在解码后将它放在链接的href attribut中。另一半代码使用内置的Javascript encodeURIComponent()函数,所以除非我可以使用PHP解码函数,或者如果有一个简单的方法来获取GET值我需要使用Javascript,我将使用PHP将它放在服务器端的Javascript中。我知道它有效,只需要几行PHP代码就可以获取并验证我需要的东西。
那就是说,代码在下面,我还会提供一个页面链接,这样你就可以看到发生了什么。
jQuery(".btn-continue").attr("href") = "\"" + decodeURIComponent(
<?php
if(isset($_GET["outlink"])){
echo $_GET["outlink"];
}else{
echo "/";
}
?>
);
这是包含操作代码的页面:http://radboxstudio.com/you-are-now-leaving-radboxstudio-com.html?outlink=http://google.com/
点击此页面上指向Google的第一个链接可转到上方的页面:http://radboxstudio.com/
有一些Javascript应该编码链接的href并使用get传递它。我已经包含了下面的相关代码,以防我搞砸了。 currentDomain是在早期的代码中定义的,我知道它可以正常工作。
$('a').each(function() {
var $a = jQuery(this);
if ($a.get(0).hostname && getDomain($a.get(0).hostname) != currentDomain) {
$a.click(function(event) {
if (!confirmed) {
event.preventDefault();
event.stopPropagation();
var url = encodeURIComponent($a.get(0));
window.location = "http://radboxstudio.com/index.php?option=com_content&view=article&id=10&outlink=" + url;
}
});
}
});
答案 0 :(得分:0)
要使用jquery的attr()函数设置href的值,你应该像这样使用它:
$("selector").attr("href", "value_you_want");
结帐jquery api:http://api.jquery.com/attr/
答案 1 :(得分:0)
原来PHP正在为我做这项工作。以下代码有效。
<?php if(isset($_GET["outlink"])){
$outlink = $_GET["outlink"];
}else{
$outlink = "/";
}
?>
<a href="<?php echo $outlink;?>">Linky</a>
对不起,不好意思。 :d