0

ラインイットあります!私たちのページの共有ボタンは、私たち自身のリソースの読み込みをブロックしており、大きなパフォーマンスの問題を引き起こしています.

line.me によって提案された Line Share ボタンの実装では、line-button.js スクリプトを、ボタンを表示する必要があるページの中央に含める必要があります。ボタンは、<script>それが開始された場所から要素を置き換えます。

<script type="text/javascript">
    new media_line_me.LineButton({"pc":false,"lang":"en","type":"b"});
</script>

独自のスクリプトが完了したら、line-button.js スクリプトをページに追加できます。

function includeLine(callback) {
    var script = document.createElement('script');

    script.async = true;

    script.onload = callback;

    script.src = "//media.line.me/js/line-button.js?v=20140411";

    document.body.appendChild(script);
}

次に、次のようにスクリプト要素を挿入できます。

function initLine() {
    var 
        script = document.createElement('script'),
        line = ['new media_line_me.LineButton({"pc":false,"lang":"'];

    line.push(util.getLang());
    line.push('","type":"b"});');

    script.text = line.join('');

    publ.$elements.shareLine.append(script);
};

しかし、line-button.js ではmedia_line_me.LineButton、イベントにリスナーをアタッチしますwindow.onload。これは、この時点ですでに発生しています。

ソーシャル メディア ウィジェットの読み込みが開始される前に、他のすべての作業が完了していることを確認したいと考えています。しかし、今、私はちょっとアイデアがありません。

JSファイルをテキストとしてロードせず、スクリプトで書き換えてからそれを書き換える別の解決策はありますeval()か?

4

1 に答える 1