私はGoogleのカスタマーレビューを利用しています。それはうまく動作します。しかし、私の目標は、私はidのボタンをクリックした後autooverlayのみがロードされていること、である=「グーグル・レビュー」をボタンをクリックしてからGoogleに返信してください
元のコードは次のとおりです。
<script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>
<script>
window.renderOptIn = function() {
window.gapi.load('surveyoptin', function() {
window.gapi.surveyoptin.render(
{
"merchant_id": number,
"order_id": order_id,
"email": customer_email,
"delivery_country": delivery_country,
"estimated_delivery_date": estimated_delivery_date,
"opt_in_style": "BOTTOM_TRAY"
});
});
}
</script>
は、私が試した:
$("#google-review").click(function() {
window.renderOptIn = function() {
window.gapi.load('surveyoptin', function() {
window.gapi.surveyoptin.render(
{
"merchant_id": number,
"order_id": order_id,
"email": customer_email,
"delivery_country": delivery_country,
"estimated_delivery_date": estimated_delivery_date,
"opt_in_style": "BOTTOM_TRAY"
});
});
}
});
しかし、これは動作していません。オーバーレイはまったく読み込まれていません。目標を達成するにはどうすればいいですか?
スクリプトのonloadパラメータが疑わしいです。グローバル/ウィンドウスコープに必要なコールバック関数名: 'window.renderOptIn'です。それをクリックハンドラの中にラップすると、それ自身のスコープの中に置かれます。ブラウザのコンソールを開き、renderOptInが定義されていないというエラーが表示されることがあります。 – yezzz
コンソールに何も表示されません。エラーは一切ありません:S –
Googleのスクリプトがその機能の存在をチェックしている可能性がありますので、私の答えを試してください。 – yezzz