何かクール:ポップアップコールバック



問題
あなたが別のWebページ/ドメインにユーザーを指示する必要があることを想像し、彼らはそれが何かを完了したときに知ってほしいと思います.

背景
私は現在、私は彼らに、よく、ものを許可することができますOAuthを必要とするWordPressプラグインに取り組んでいます!(私は今、そのことを明らかにすることはできないと思います)私は1つまたは2つのリダイレクトURIを説明することができますが、それは私のWordPressプラグインで実行されているすべてのドメインのためにそれを処理することは不可能です!

解決策
私がプラグインですることを選んだものは、ユーザーがOAuthボタンをクリックするとき、私がホストするページを開くことです.
const newWindow = window.open('https://somesite.com/oauth', 'oauth', 'height=720,width=480');
私は新しいウィンドウを作成するとすぐに私は現在のwindow 関数を追加します.
window.popUpCallback = (code) => {
    newWindow.close();
    console.log(code);
};
今私のポップアップでは、認可を処理します.許可コードを取得した後に、ウィンドウに追加された関数を呼び出すことができます.
window.opener.popUpCallback(value);
ここで起こったのは、私のポップアップウィンドウがpopUpCallback 私が加えた機能window それがこの電流を開けたwindow .
振り返ってpopUpCallback 閉じるこの動画はお気に入りから削除されていますnewWindow (そして)console.log 私が戻ったコード.しかし、あなたは、あなたが現在欲しい何でもすることができます.あなたがしたことは、Windowsの間で値を渡されます!
私にとってこれは完璧でした.なぜなら、このプラグインが実行されているところではリダイレクトURIを一つだけ必要としているのですが、これは何らかの理由であなたにとって役に立つでしょう.
楽しむ!
私がやっていることすべてについていくために、私についてきなさい.あなたが考えているならばあなたは私を見つけることができますGitHub .