使用jQuery激活addThis iFrame

时间:2013-11-13 12:39:30

标签: jquery iframe addthis

如果网址包含特定文字,我正在尝试使用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中加载。

有任何解决方法吗?

2 个答案:

答案 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);
});

https://dev.twitter.com/docs/intents/events

答案 1 :(得分:1)

您不能使用javascript来通过iFrame获取内容,这可能是网上诱骗(这是非法的),并且大多数浏览器默认会阻止它以防止网站诈骗。

您需要找到另一种方法将“分享”按钮添加到您的页面上。