0

MS の Facebook ライブラリを使用する ac# クライアント アプリケーションがあり、しばらくの間正常に動作していました (この特定のフォームは 5 月 6 日に最後に変更され、先週の最後のテスト サイクル中に動作していました)。これは、ユーザーがアプリを認証および承認できるように、Web ブラウザーが組み込まれたキオスク アプリ (幸いなことにまだ開発中) にあります。今日、認証ページのいずれかのボタンをクリックすると、スクリプト エラーのポップアップが表示されるようになりました。

ログイン ページに移動すると、ユーザーが認証され、すべて問題なく、「あなたに代わって非公開で投稿したい」という承認ページに移動します。それでも問題ありませんが、[OK] または [スキップ] をクリックすると、ポップアップが表示されます。それは言う

An error has occurred in the script on this page
Line: 5
Character: 878
Error: "Access is denied."
URL: https://static.xx.fbcdn.net/rsrc.php/v2/yG/r/q0zNT1kK_7g.js.  

現在、ポップアップには通常の「このページでスクリプトを実行し続けますか」というはい/いいえのオプションがありますが、やはりスタックしています。はいまたはいいえをクリックしても問題ありません。ポップアップが表示され続けるため、プロセスを手動で強制終了する必要があります。

私は自分のコードを変更していませんが、「重大な変更」リストを確認してそれを有効にしているときに、いくつかのアプリ設定を変更した可能性があります。戻っていくつかの設定を試してみましたが、明らかに役に立ちませんでした。

この問題のもう 1 つのイライラする側面は、oauth プロセスを実際に完了することがないため、アクセス トークンを取得できないことです。しかし、何かがクッキー化されていて、ユーザーがまだログインしていると考えています。承認ページ。明らかに、スクリプト エラーを回避できれば、トークンを取得してユーザーをログアウトできます。

どんな提案も役に立ちます。

編集: URL を Chrome に引き継いだところ、問題なく動作したので、問題の .js を取得して問題のコードを見つけました。問題は「window.resizeBy(w,x)」であり、IE がこれを意図的にブロックしているように見えるクイック検索もあります (少なくとも古いバージョンで、IE 10 の実際のブラウザーで試してみたところ、動作しました)。興味深いことに、Chrome では (IE ではなく)、認証画面の 1 つに最初にヒットしたときに、次のメッセージが表示されました。

大きなブラウザ ウィンドウまたはタブで「ポップアップ」の表示タイプを使用しています。ユーザー エクスペリエンスを向上させるには、明示的な表示タイプを指定せずに、JavaScript SDK を使用してこのダイアログを表示します。SDK は、各環境に最適な表示タイプを選択します。または、SDK を使用できない特別な要件がある場合は、window.open() 呼び出しで高さと幅を設定して、このダイアログのサイズを適切に設定します。このメッセージは、アプリケーションの開発者のみに表示されます。

埋め込みブラウザで window.open を取得する方法がわかれば、提案どおりにサイズを明示的に設定できれば、このサイズ変更をスキップして問題が発生するのではないかと思います。さらに研究を進めます。

4

1 に答える 1

1

さて、Chrome で費やされた時間は (いつものように) 他のどのブラウザーよりも価値がありました。これは JS SDK ではなく MS の Facebook クライアントを使用していたため、window.open に簡単にアクセスする方法がありませんでした。Chrome のメッセージが示したもう 1 つの重要な点は、"popup" 型を使用していることです。それを「ページ」タイプに変更し、スクリプトエラーはなくなりました。認証は独自の JS ポップアップに表示されますが、これで問題ありません。

于 2013-07-14T11:10:21.793 に答える