押入れ起業

ガレージベンチャー、ならぬ。もっぱらPHPプログラミングとアフィリエイトの研究をしています。

JavaScript

JavaScriptでwindow.openする自作ツイートボタンでポップアップが2つ出る問題の馬鹿みたいに簡単な解決方法

投稿日:2015-04-10 更新日:

ウェブサイトのデザインによる理由でTwitter公式のツイートボタンを使わずに、公式同様の小画面がポップアップするJavaScriptを仕込んだリンクを作ったんです。

<a href="https://twitter.com/intent/tweet?text=何やかんや" onclick="popup(this.href); return false;">ツイートする</a>

んでクリックすると、ツイートのポップアップウィンドウが2つ同時に出現してしまう。いったい何故だ…。

適当に検索したところ、2年前に同様の現象を指摘していたブログを発見。

  • JavaScript:「return false;」で「href」を無効化できずに2つウィンドウが開いてしまった原因
  • こちらによると、Twitter公式のJavaScriptであるwidgets.jsがOnClickイベントに何かを仕込んでいるため、一度のクリックで両方のポップアップが発動してしまうとのこと。

    なるほど、widgets.js側がonClickに仕込んでるなら、こっちでは何も設定しないでもいいんじゃね?ってことで試しにonClickの中身を空っぽにしてみた。

    <a href="https://twitter.com/intent/tweet?text=何やかんや" onclick="">ツイートする</a>
    

    結果は成功!ポップアップウィンドウが1つだけ出て、そこにはこちらの意図した内容が表示された。よっしゃー

    ちなみにJavaScriptの知識はほぼゼロです。勘でどうにかなったぜ。

    PC

    PC

    -JavaScript
    -,

    執筆者:


    comment

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    関連記事

    短縮URL作成サイトのブックマークレットJavaScriptが間違っていた

    ヤバい! よくわからないまま他のサイトのブックマークレットから類推してテキトーに作ってたいせいだ! javascript:window.location=’http://bitly.oshiire.o …

    open all | close all
    open all | close all