我的网站中有一个页面列出了所有项目的大拇指。单击特定的拇指(项目)时,Fancybox会在iframe中加载项目的详细信息。一切都很棒! (iframe中的内容不包括导航,标题和其他网站元素。)
我遇到的问题是谷歌搜索结果页面 - 谷歌索引所有详细信息页面,现在当用户点击谷歌搜索结果链接时,详细信息内容页面将在浏览器中打开(而不是Fancybox iframe)。这很糟糕,因为详细信息页面不包含导航页面。
任何用户友好的解决方案?
答案 0 :(得分:1)
如果您对那些未被Google编入索引的网页感到满意,那么您可以在链接中添加rel =“nofollow”:
此处有更多详情: http://support.google.com/webmasters/bin/answer.py?hl=en&answer=96569
答案 1 :(得分:0)
正如我在评论中提到的,您需要在每个“详细信息”页面中包含一个脚本来嗅探URL并检测页面是否在新窗口中打开(首页),如果是这样重定向到主页面使用修改后的URL(例如使用hash
),允许从主页面打开fancybox中的“详细信息”页面。
因此,您可以在每个“详细信息”页面中包含此脚本:
<script type="text/javascript">
var isWindow = self == top; // returns true if opened in a new window, otherwise it migh be inside an iframe
if(isWindow){
// alert("this page was opened in a new browser window");
// then redirect to main page and add hash "detailedXX"
window.location = "{URL}/mainpage.html#detailed01"
}
</script>
将detailed01
更改为每个“详细信息”页面的不同值。
然后在主页面中,您可以链接到每个详细信息页面,如
<a id="detailed01" class="fancybox" href="detailed01.html">Open project detail page 01 in fancybox</a>
<a id="detailed02" class="fancybox" href="detailed02.html">Open project detail page 02 in fancybox</a>
注意我在每个锚点都包含ID
,与我们将在重定向到主页时使用的hash
匹配。
然后您的fancybox脚本可以是:
<script type="text/javascript">
var thisHash = window.location.hash;
$(document).ready(function() {
if(window.location.hash) {
// get the URL without hash so we can restore it if needed
var thisWindowLocation = window.location;
var thisWindowLocationSplit = String(thisWindowLocation).split("#")[0];
$(thisHash).fancybox({
width: 800,
height: 320,
fitToView: false,
autoSize : false,
type: 'iframe',
afterClose : function(){
// returns URL to main page with no hash
window.location = thisWindowLocationSplit
}
}).trigger('click');
}
// fancybox for normal main page operation
$(".fancybox").fancybox({
width: 800,
height: 320,
fitToView: false,
autoSize : false,
type: 'iframe'
});
}); // ready
</script>
我设置了DEMO here
此演示打开两个“详细”页面:
http://www.picssel.com/playground/jquery/detailed01.html 和 http://www.picssel.com/playground/jquery/detailed02.html
如果您尝试直接打开它们,则会重定向到calling page并在fancybox中打开