2017-09-15 6 views
0

クライアントのクロム拡張機能を作成しています。拡張機能の機能は、ポストのような別の非公開ボタンを追加することです。そのようなボタンをクリックすると、そのポスターが通知されます。iframeでChromeの投稿メッセージAPIを使用する

私はFacebookのログインボタンを使用して、そのユーザーのFacebookデータを取得しました。 Facebook SDKから、ユーザーのアプリスコープID(数字キー)、ユーザーアプリスコープリンク、ユーザー名、性別などが表示されます。ユーザーがそのFacebookボタンをクリックすると、Facebookから必要なデータが取得されます。このデータからフォームには名前のみが表示され、ユーザーは電子メールとパスワードを入力してフォームに記入する必要があります。あなたはそれを確認することができますhere。ユーザーが送信ボタンをクリックすると、フォームデータとFacebookから取得したデータが自分のサーバーのデータベーステーブルに保存されます。

拡張機能で外部スクリプトが許可されていないため、Facebook SDKコードはChrome拡張機能では機能しません。そのため、私はSDKスクリプトをサーバーに保存し、HTMLページを作成し、提供されたリンクで見ることができるように保存しました。その問題を克服するために、エクステンションにiframeを使用しているので、外部から読み込まれたスクリプトは検出されません。

データがテーブルに保存され、Facebookからアプリスコープのリンクが取得されたと言われているように、そのページにすぐにそのリンクが表示されます。これは、拡張機能のiframeに表示されることを意味します。そしてiframeのdiv要素にロードされるたびにそのiframeからそのリンクを取得したいと思います。私は自分の内線でそのリンクを使って作業したいからです。

結論:iframeからURLまたはリンクを取得し、そのiframeがサーバーから外部の.htmlファイルを読み込んでいます。あなたは下のこのLink

でプロセスを確認することができます

は私のiframeコードです:私はスクリプト2で仕事をしたい、このはiframeで

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <title></title> 
 
\t <script type="text/javascript" src=jquery.js></script> 
 
</head> 
 

 
<body> 
 

 
<iframe src="http://bitbaysolutions.com" id="myFrame" style="width: 100%;height: 100%;position: fixed;top: 0;left: 0;border:none;overflow-y:scroll; "> 
 
\t 
 
</iframe> 
 

 
</body> 
 
<script type="text/javascript" src=script2.js></script> 
 
</html>

.js。私はそのリンクをiframeに表示して、ローカルのscripts2.jsファイルでそれを使用したいと思っています。

+0

あなたが何を求めているのか不明です。そのURL自体はボックスには表示されていませんが、最初にそこに書き込まれている必要があります。だから、どこかに情報を持っていなければなりません。 – CBroe

+0

最初にFacebookのボタンをクリックしてからランダムフォームの電子メールとパスを入力して送信フォームをクリックすると、URLが送信された後に表示されます – Nadeem

+0

それはポイントではありませんでした。あなたのスクリプトは最初にこの値をAPIから要求し、AJAX経由でサーバーに送信し、そこから再び戻ってそのボックスに入れます。だからあなたのスクリプトに値が必要な場合は、APIから要求された時点でそれをつかんでください。 – CBroe

答えて

0

私はそれのための解決策を得ました。 あなたがしなければならなかったのは、あなたでした。 window.postMessage(url-I-wanted-to-pass,oringin)を使用し、そのメッセージを取得するためにローカルファイルのメッセージイベントをトリガーします。

関連する問題