我有一個像這樣Twitter分享按鈕不使用自定義URL或文本
= link_to "https://twitter.com/share", class: "twitter-share-button", data: { url: "https://google.com", text: hack.body, via: "GhettoLifeHack_", hashtags: "ghettolifehack" } do
= image_tag "Tweet", alt: "Social Twitter tweet button"
而且不管我多麼更改數據的URL值的鏈接,鳴叫預確認頁面始終預填充的鳴叫表單字段與引用頁面的網址,而不是我指定的網址。它也會忽略我的自定義數據文本。
這是怎麼發生的?
我也有這樣的精縮腳本
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
,我從這裏https://about.twitter.com/resources/buttons#tweet 刪除了該腳本似乎並沒有改變任何東西。
編輯:在嘗試直接使用:'data-url'
屬性時,輸出html是相同的。
我正在測試硬編碼的字符串和動態生成的URL在同一時間。首先是動態的。
<a class="twitter-share-button" href="https://twitter.com/share" data-via="GhettoLifeHack_" data-url="http://localhost:3000/hacks/1" data-text="asdf comment body" data-hashtags="ghettolifehack">
<img src="/images/Tweet" alt="Tweet" title=""></img>
</a>
第二個是硬編碼字符串
<a class="twitter-share-button" href="https://twitter.com/share" data-via="GhettoLifeHack_" data-url="httpL//google.com" data-text="custom text" data-hashtags="ghettolifehack">
<img src="/images/Tweet" alt="Tweet" title=""></img>
</a>
我的發展和生產測試。兩者都具有相同的行爲,用引用url預填充推文表單,而不是指定的url和文本。
這適用於Chrome瀏覽器我,但不能在Firefox 32
如果你直接給自定義屬性,如 = link_to「https://twitter.com/share」,class :「twitter-share-button」,:'data-url'=>'url',:'data-text'=> hack.body – addicted20015 2014-09-27 20:01:22
修改數據url和數據文本屬性不會成爲佔位符或pre如前所述,在預推文頁面中填充表單文本。你是在談論使用直接字符串散列而不是散列內散列符號?當我使用瀏覽器檢查器時,我已經看到了正確顯示的屬性。如果將相應的語法改爲您所說的使其起作用,那麼這意味着散列內散列語法不起作用......在這一點上,我將翻轉我的表,因爲這沒有任何意義。 – ahnbizcad 2014-09-27 20:10:30
也,我不認爲我應該做':'data-url''。如果有的話,它應該是':data-url'。 – ahnbizcad 2014-09-27 20:13:27