私は、ユーザによって提出するフィードバックフォームを持っているのWebViewでのNode.jsejsファイルの代わりに.jsファイルからMessengerExtensions.requestCloseBrowserを呼び出す方法は?
を使用していたれるチャットボットに取り組んでいます。
feeback.ejsにmessenger extensions sdkを追加しました。次のように:
<script>
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.com/en_US/messenger.Extensions.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'Messenger'));
window.extAsyncInit = function() {
// the Messenger Extensions JS SDK is done loading
var isSupported = MessengerExtensions.isInExtension();
MessengerExtensions.getContext('************',
function success(result){
document.getElementById("psidid").value = result.psid;
},
function error(result){
//alert("json str "+JSON.stringify(result));
}
)
};
</script>
私はpsidも取得できます。ポストアクションのフィードバックフォームでは、jsファイルで関数を呼び出しています。
例:で
<form method="post" action="/feeback/submit">
<table cellpadding="11">
<tr>
<td class="label">First Name</td><td>: <input type="text" name="fname" required></td>
</tr>
<tr>
<td class="label">Last Name</td><td>: <input type="text" name="lname" required></td>
</tr>
</table>
</form>
がファイルapp.js:私は保存しています機能で
:
app.post('/feeback/submit', feedback.submit);
を私はfeedback.jsファイル内の関数を呼び出して提出していますフォームデータをユーザーと私は正常にデータを保存するにもwebviewを閉じることができる必要があります。
どうすれば達成できますか?
私は以下のメソッドを使用しますが、私はMessengerExtensionsを取得していますが、NPT定義のエラーです:
MessengerExtensions.requestCloseBrowser(function success() {
// webview closed
user.doDataResponse(psid, message);
}, function error(err) {
// an error occurred
});
は助けに感謝します...!
ありがとう、それを試してみましょう。 –