0

TurbolinksでCrossriderAPIを使用すると問題が発生します。私のシナリオは次のとおりです。

1 . http://website.local/に行く

2 . Crossrider拡張機能の準備ができているかどうかを確認するためのチェックを実行します。

CrossriderAPI.isAppReady('xxxxx', function(r) { if (r) (console.log('ready')) })

3 . はい、もちろんです。

4 . Web サイト内を移動する ( を使用turbolinks)

5 . さて、トラブルはここから始まります。turbolinksリクエストごとに DOM を変更しますが、Crossrider拡張機能の準備ができているかどうかを再確認しようとして、その理由を調査していると、false. 私たちの拡張機能はもう表示されないようです。

このコードをデバッグして、この問題から抜け出せるかどうかを確認しています。

誰もこれで成功しましたか?どんな助けやアドバイスも素晴らしいでしょう!

アントニオ

4

1 に答える 1

1

私はTurbolinksに精通していませんが、一般的に「コードをトリガーするためにDOMContentLoadedまたはjQuery.ready()に依存することはできません」と述べているGitHubのreadmeに基づいて、これらに依存する拡張機能を著しく妨げていると思います.ページの読み込み時に実行されるイベント。

具体的には、この例では、Turbolinks が本文コンテンツを置き換えるため、操作に DOM コンテンツを利用する CrossriderAPI ライブラリを混乱させます。したがって、コードを大幅に変更しなければ、Turbolinks が CrossriderAPI と共存できず、拡張機能を妨害できるとは思えません。

于 2014-01-19T09:19:20.653 に答える