ぱすたけ日記

日記っぽいのを書きます。

aタグのhref属性にhttps://twitter.com/intent/tweetなどを設定するとクラス名が空でもwigets.jsをロードするとクリックイベントが生える

なんかウェブサイトに設定している自前のTweetを押すとTweet画面が2つ開くし、うち1つは空のintentが開くな〜と思って調査したら、どうやらそういうことのようだった。

ドキュメントというかガイドには

Create a new anchor element with a twitter-share-button class to allow the Twitter for Websites JavaScript to discover the element

(from: Guides | Docs | Twitter Developer Platform)

って書いてあるので、クラスを付与して無ければ良いと思ってたけど、どうやらそうではないらしい?

codepenで試してみると、表示は諸々のあれでブロックされるものの開くURLはoriginal_refererなどが付いていてaタグのものと異なる。

See the Pen Untitled by pastak (@pastak) on CodePen.


詳細は省略しますが、 https://platform.twitter.com/widgets.js を読んでみると、どうやら /twitter\.com(?::\d{2,4})?\/intent\/(\w+)/ にマッチすると書き換わりそうに見えたので。hrefは空にしておいて、後で動的に書き換えるようにしたら解決しました。