【发布时间】:2011-01-08 16:53:24
【问题描述】:
Javascript 和 jQuery (Fancybox) 问题
我正在使用下面的 Javascript 函数进行 Twitter 共享(以及其他服务;对于这个问题,函数代码被简化为 Twitter),它获取要共享的页面 URL 和标题,并在带有 onclick 的链接。这会导致 Twitter 分享页面在弹出的浏览器窗口中加载,即<img src="/images/twitter_16.png" onclick="share.tw()" />
为了与网站的其他设计方面保持一致,我想做的是让 Twitter 共享页面不是在标准浏览器窗口中打开,而是在 Fancybox (jQuery) 窗口中打开。
当 img 或 href 链接在链接和标题中的文档就绪函数中包含类(在本例中为 class="iframe")时,Fancybox 可以在 iFrame 中加载外部页面。
当然,现在,当我将 iframe 类提供给同样具有 onclick share.tw() 的链接时,我会得到两个弹出窗口:一个加载了正确 Twitter 共享页面的浏览器窗口弹出窗口,以及一个 Fancybox jQuery 弹出窗口,它显示网站 404。
如何更改功能以使用 Fancybox 呈现 Twitter 分享页面?这是处理它的正确方法吗?或者有没有更好的方法,比如在jQuery中也实现分享功能?
谢谢...
Javascript分享功能:
var share = {
tw:function(title,url) {
this.share('http://twitter.com/home?status=##URL##+##TITLE##',title,url);
},
share:function(tpl,title,url) {
if(!url) url = encodeURIComponent(window.location);
if(!title) title = encodeURIComponent(document.title);
tpl = tpl.replace("##URL##",url);
tpl = tpl.replace("##TITLE##",title);
window.open(tpl,"sharewindow"+tpl.substr(6,15),"width=640,height=480");
}
};
被调用,即:<img src="/images/twitter_16.png" onclick="share.tw()" />
Fancybox 函数,通过在 img 或 href 链接中添加 class="iframe" 调用
$(".iframe").fancybox({
'width' : '100%',
'height' : '100%',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'iframe'
});
【问题讨论】:
标签: javascript jquery fancybox