Amplify.js のパブリッシュ/サブスクライブを 2 つのファイルで動作させようとしています。
コードが 1 つのファイルの場合は機能しますが、パブリッシュが 1 つのファイルにあり、サブスクライブが別のファイルにある場合は機能しません。
サブスクライブとパブリッシュの呼び出しが同じファイルにあるコードを次に示します。これは機能します。
<html>
<head>
<script type="text/javascript" src="./js/jquery-1.8.2.min.js"> </script>
<script
type="text/javascript" src="./js/amplify-1.1.2/amplify.min.js">
</script>
</head>
<body>
<H1>My amp pub/sub page</H1>
<script type="text/javascript">
alert("entering page");
amplify.subscribe("dataExample", function(param) {
alert("In the amplify.subscribe function,
param is: " + param.foo ); } );
alert("after line amplify.subscribe");
result = amplify.publish("dataExample", { foo: "bar" } );
alert ("After amplify.publish, result is " + result );
</script>
</body>
</html>
結果は、次のように予想される順序でアラートを出力
する
こと
です
。
サブスクライブとパブリッシュを別のファイルに入れると、amplify.subscribe 関数が呼び出されません。このテストでは、2 つのブラウザー (両方とも Firefox) を使用しています。1 つのブラウザーでサブスクライブを実行してから、別のブラウザーで公開します。
サブスクライブのコードは次のとおりです (パブリッシュ部分を切り取っただけです)。
<html>
<head>
<script type="text/javascript" src="./js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="./js/amplify-1.1.2/amplify.min.js">
</script>
</head>
<body>
<H1>My amp sub page</H1>
<script type="text/javascript">
alert("entering page");
amplify.subscribe("dataExample", function(param) {
alert("In the amplify.subscribe function, param is: " +
param.foo ); } );
alert("after line amplify.subscribe");
</script>
</body>
</html>
パブリッシュ用のコード (サブスクライブの部分を切り取っています)
<html>
<head>
<script type="text/javascript" src="./js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="./js/amplify-1.1.2/amplify.min.js">
</script>
</head>
<body>
<H1>My amp pub page</H1>
<script type="text/javascript">
alert("entering page");
result = amplify.publish("dataExample", { foo: "bar" } );
alert ("After amplify.publish, result is " + result );
</script>
</body>
</html>
Firefox バージョン 47.0.1
を使用していますが、Chrome を使用すると同じ問題が発生します。
誰かがこれについて何か考えを持っていますか?
パブリッシュデータがどこに保存されているか
など、これについてより深い知識を持っている人はいますか?
どれだけの時間?
そして、それがそこにあるかどうかをどのように確認できますか。
サブスクライブはどこでデータを探していますか?
パブリッシュ サブスクライブは 2 つのファイルで機能しますか?