Twitter按钮使用iframe URL而不是original_referer

时间:2014-03-01 18:43:06

标签: jquery html iframe twitter

我在mydomain1.com上有一个页面,其中包含来自mydomain2.com的iframe中的内容。在iframe内部,我使用jQuery编写了一个Twitter按钮:

    // Twitter
    var twitterButton =
    '<div>' +
    '<iframe allowtransparency="true" frameborder="0" scrolling="no" style="width:75px; height:85px;" ' +
    'src="http://platform.twitter.com/widgets/tweet_button.html' +
    '?original_referer=http://mydomain1.com/mypage/' +
    '&amp;text=' + encodeURIComponent('This is my tweet message') +
    '&amp;url=' + encodeURIComponent(bitlyShortUrl) +
    '&amp;via=mytwittername' +
    '&amp;lang=en' +
    '&amp;show_count=true' +
    '&amp;count=vertical' +
    '&amp;hashtags=myhashtag' +
    '&amp;size=m" >' +
    '</iframe></div>'

然后我使用jQuery将上述HTML包含在iframe中的DIV容器中:

    $('#buttonsDIV').html(twitterButton);

所有这些代码都包含在mydomain2.com页面中。它的工作原理是Twitter按钮显示,可以点击并成功提交包含有点短URL的推文。我这样做是因为按钮需要根据用户输入动态创建。

问题是计数总是显示0(零)。当我将Twitter按钮悬停时,我会看到original_referer=http://mydomain2.com/iframepage.html

https://twitter.com/intent/tweet?hashtags=myhashtag&original_referer=http%3A%2F%2Fmydomain2.com%2Fiframepage.html&text=This%20is%20my%20tweet%20message&tw_p=tweetbutton&url=http%3A%2F%2Fwww.mydomain1.com%2Fmypage%2F&via=mytwittername

Twitter似乎正在使用iframe页面的URL而不是我们需要推广的父页面。有谁知道为什么会发生这种情况和/或是否有办法绕过它?

此外,Twitter会缩短链接本身吗?当然,我在提交之前缩短它。我试图提交url而不缩短它,但它太长了,推文最终超过了140个字符限制。我没有看到Twitter自己缩短它。

编辑#1

当我悬停Twitter Tweet按钮时,我不仅看到original_referer是iframe的URL而不是我指定的父页面,但我也看到有一个查询字符串parm被添加到它不是来自我的代码:

original_referer=http%3A%2F%2Fmydomain2.com%2Fiframepage.html%3Fundefined

当然是http://mydomain2.com/iframepage.html?undefined

顺便说一句,我可以控制两个域上的页面/内容 - iframe内容和父页面。

编辑#2

另一个细节是url=正在设置(有意地通过我的jQuery代码),网址略短,因为查询字符串parm会发生变化。它会发生变化,因为我们希望关注该链接的用户返回我们的网站,并能够根据用户输入首先提交推文的视频。有许多不同的视频可以播放,因此有一个查询字符串parm告诉我们的网站要播放哪一个 - 这对我们非常重要。

我刚注意到这似乎对计数有影响。如果我删除了有点短的URL,而是使用我为original_referer指定的相同URL,则会显示正确的计数。但是,这对于更改为iframe URL而不是父页面URL的original_referer没有影响。

是的,我对此很困惑。对于所有细节感到抱歉,它们似乎很重要。 :S

0 个答案:

没有答案