<html>
<head>
<script type="text/javascript" src="jquery-1.6.1.js"></script>
<script>
$('a').click(function(e) {
e.preventDefault();
document.location.href='http://www.redirectlink.com?ref='+this.href;
return false;
});
</script>
</head>
<?php
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, 'http://192.168.0.14:8081/home/');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$curl_response = curl_exec($ch);
curl_close($ch);
echo $curl_response;
?>
这应该有用吗?它卷曲页面,然后当你点击页面上的链接时,它应该重定向到http://www.redirectlink.com?ref='+ this.href卷曲部分可以工作,但它不会重定向。它仍然需要我到原始网址。 jquery-1.6.1.js文件与所有其他文件位于同一目录中。
编辑:问题已解决。需要准备好javascript。
答案 0 :(得分:2)
我不是jquery的专家,但我相信你需要一个准备好的功能
$.ready(function() {
$('a').click(function(e){
e.preventDefault();
document.location.href='http://www.redirectlink.com?ref='+this.href;
return false;
});
});
尝试以上......
答案 1 :(得分:1)
重定向?
四个问题:
1)。您在加载文档之前调用$('a')选择器。你不会得到任何A.你需要将它包装在document.ready或类似的东西中。
$(document).ready(function(){
//put your script block here.
});
2)。你需要在this.href上编码winsComponent。
3)。您似乎假设它是一个完全限定的URL,而不是相对URL。
4)。如果您要查找的是重定向,则需要使用重定向标头(不需要CURL):
if (array_key_exists('ref', $_GET))
{
header('Location: '.$_GET['ref']);
exit;
}
注意 - 这必须超出任何输出...基本上,将你的php块移动到文件的最顶层。
澄清。根本不是重定向器:
if (array_key_exists('ref', $_GET))
{
echo file_get_contents($_GET['ref'];
}
上面的块用3个易于理解的行替换了所有PHP代码。
答案 2 :(得分:1)
另外,脚本不应该以:
开头<script type="text/javascript">
...
</script>
答案 3 :(得分:0)
@Mayank,
是对的,
这样做:
<script>
$(document).ready(function(){
$('a').click(function(e){
e.preventDefault();
document.location.href='http://www.redirectlink.com?ref='+this.href;
return false;
});
});
</script>
答案 4 :(得分:0)
你需要包装整个事情:
jQuery(document).ready(function($) { [your code] });
答案 5 :(得分:0)
更重要的是,我认为
e.preventDefault();
和
return false;
有相同的行为。