从顶部开始:
我正在使用Yin&杨WP主题('http://onioneyethemes.com/yin-and-yang/')为我的投资组合而且我在jQ方面遇到了一些障碍。我已经将代码复制到一个单独的模板中以相同的方式使用,但我希望缩略图链接打开外部页面。如果链接是内部的 - 这太棒了。外部......不是那么多。它挂了。
您可以在此处看到“工作”[不是真实]版本:http://ii.colorspace.am/events
我翻过代码并系统地拉出js引用来找到罪犯。
这似乎是罪魁祸首:http://ii.colorspace.am/wp/wp-content/themes/yin_and_yang/js/jquery.easing.1.3.js?ver=3.3.1但我可能完全不合适。
不幸的是,它似乎也控制了滑块功能(在缩略图/下拉式触点上)。
如果有人能告诉我我需要做些什么来允许我在外部链接(无论是调整一些代码还是复制缓动文件并进行一些修改),我们将非常感激。
我猜这个解决方案可以在http://css-tricks.com/snippets/jquery/smooth-scrolling/找到,但这对我来说都是希腊人,所以我不知道如何处理它:(
答案 0 :(得分:1)
这是因为跨省政策。除非主机,端口和协议匹配,否则无法通过ajax打开内容。如果您无法 events.colorspace.am ii.colorspace.am ,您可以尝试两件事:
托管充当代理的.php文件。基本上它只包含<?php die(file_get_contents($_GET['url'])); ?>
,并在此基础上进行一些基本验证,以确保$_GET['url']
实际上是 events.colorspace.am 中的有效地址。在您打开此文件后,您必须更新库中的链接,以便 http://events.colorspace.am/g/20120331 而不是 http:/ /ii.colorspace.am/file.php?url=http://events.colorspace.am/g/20120331 。所以要么是这个,要么:
重定向用户。如果图库链接允许您输入javascript:window.open('http://events.colorspace.am/g/20120331')
,这将很容易。但实际上一些弹出窗口阻止程序可能取消了这一点,并且您更安全地使用方法1,但用这个替换die(file_get_contents(...))
代码
<script> window.location.href=<?php echo json_encode($_GET['url']); ?>; </script> Please wait you will be redirected...
哪个基本上应该重定向用户。
<强> /编辑:强>
终于理解了这个问题。这是你需要做的:
<a class="project-link" href="http://events.colorspace.am/...>
上添加target="_blank"
属性。/wp-content/themes/yin_and_yang/js/jquery.quicksand.init.js
在文件的开头找到一行
eQgetProjectViaAjax = function(e) {
紧接其下方,添加以下行:
var href = $(this).attr('href');
if(href.indexOf('://')!==-1){
href = href.split('://');
host = window.location.href.split('://');
if(href[0]!==host[0]) return setTimeout(function(){ $('#overlay').hide(); },500);
href = href[1].split('/');
host = host[1].split('/');
if(href[0]!==host[0]) return setTimeout(function(){ $('#overlay').hide(); },500);
}
保存所有内容并再次尝试。这次会有效。