如果网址包含特定文字,我正在尝试使用jQuery点击iFrame中的链接。 iFrame包含addThis提供的Twitter分享链接。
我认为iFrame是问题,但我看不出如何让它发挥作用。
我的代码:
<script type="text/javascript">
$(function(){
/*If the url contains*/
if(window.location.href.indexOf("/test.html") > -1) {
/*Wait for the iframe */
$('#twitter-widget-0').ready(function () {
/*Click link in .btn-o*/
$(".btn-o").trigger("click");
});
}
});
使用addThis代码链接到Dropbox测试网站:https://dl.dropboxusercontent.com/u/80852247/Demo/test.html#.UoNx9_m-2gL
我没有收到任何错误,我只是认为'.btn-o'没有被检测到,因为它在iFrame中加载。
有任何解决方法吗?
答案 0 :(得分:2)
尝试使用twitter api。
window.twttr = (function (d,s,id) {
var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return; js=d.createElement(s); js.id=id;
js.src="https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } });
}(document, "script", "twitter-wjs"));
twttr.widgets.createShareButton(
'http://benward.me',
document.getElementById('new-button'),
function (el) {
console.log("Button created.")
},
{
count: 'none',
text: 'Sharing a URL using the Tweet Button'
}
);
twttr.ready(function (twttr) {
// Now bind our custom intent events
twttr.events.bind('click', clickEventToAnalytics);
twttr.events.bind('tweet', tweetIntentToAnalytics);
twttr.events.bind('retweet', retweetIntentToAnalytics);
twttr.events.bind('favorite', favIntentToAnalytics);
twttr.events.bind('follow', followIntentToAnalytics);
});
答案 1 :(得分:1)
您不能使用javascript来通过iFrame获取内容,这可能是网上诱骗(这是非法的),并且大多数浏览器默认会阻止它以防止网站诈骗。
您需要找到另一种方法将“分享”按钮添加到您的页面上。