Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

Googleフォームで上にスクロールし...
 
共有:
通知
すべてクリア

[解決済] Googleフォームで上にスクロールしなくても、次のページや画像認証画面が表示されるようにしたいです。

6 投稿
2 ユーザー
3 Reactions
1,572 表示
 kase
(@kase)
New Member Registered
結合: 2年前
投稿: 4
Topic starter  

不具合・カスタマイズ対象ページのURL:
https://kasegix.com/testforms/

相談内容:
Cocoonのサイトに、Googleフォームでアンケートフォームを設置し、画像認証画面が画面上に表示されるようにしたいです。
Googleフォームでアンケートフォームの設置はできています。

問題は、フォームに入力をした後、画面が一番上に移動しないため、画像認証画面を表示するには、ユーザーが上にスクロールしないといけない点です。
画面が一番上に移動しないのは、「次へ」をクリックした時も同様です。

Googleフォームの専用入力ページ(外部サイト)では正しい挙動をします。
しかしCocoonのサイトにiframeで貼り付けた場合、ページ上部に移動しないという不具合が起こります。
ということは、Cocoonかiframeに何かを加えれば、問題は解決できるかもしれないと思いました。

どうすれば、「次へ」と「送信」をクリックした際、ページが上部に移動するようになるでしょうか?

状況を理解しやすいよう、フォームに試し入力できるように、以下にサンプルページを作成しました。
https://kasegix.com/testforms/

プラグインは全て無効化して試しましたが、変わりませんでした。
もし本問題が、Googleフォームの仕様だということでしたら、諦めます。
宜しくお願い致します。

<補足1>
Googleフォームでは、「メールアドレスを収集する」をONにし、
「回答のコピーを回答者に送信」を「常に表示」にすると、reCAPTCHA v2が機能するようになります。

<補足2>
アンケートページを複数ページ(複数セッション)にすると、最下部に「次へ」ボタンが出てきます。
「次へ」をクリックすると、画面が真っ白になります。
上にスクロールすると、次のページが出てきます。

<補足3>
最終ページの「送信」をクリックすると、デバイスによっては画像認証画面が出てきます。
しかし補足2と同様、画面が真っ白になるため、上にスクロールしないと画像認証画面が出てきません。
スマホの場合、10回以上、上にスクロールしないと画像認証画面が出てきません。
そのため、お客様は画像認証をしていないため回答を送信できてい状態にも関わらず、回答を正しくしたと思ってしまいます。

<補足4>
サイト上では上にスクロールしないと画像認証画面が出てきませんが、Googleフォームの専用画面(外部ページ)だと正しく挙動し、ページ上部に移動します。
iframeかCocoonの仕様で、上手く動いていないように思います。

<補足5>
サンプルページ
https://kasegix.com/testforms/

に、

Googleフォーム テストフォームの外部リンク
https://forms.gle/wTCQe7oaqorgdaa77

コード
<iframe src=” https://docs.google.com/forms/d/e/1FAIpQLSf3igHlkWLvf3ptqgEGKW6O-hxgtGVXQWt_pT1MMxZ0A2EzKg/viewform?embedded=true” width=”100%” height=”5000″ frameborder=”0″ marginheight=”0″ marginwidth=”0″>読み込んでいます…</iframe>

iframeでサイトに貼り付けたフォーム

を載せました。
宜しくお願い致します。

環境情報:
----------------------------------------------
サイト名:稼げるサイトの作り方
サイトURL: https://kasegix.com
ホームURL: https://kasegix.com
コンテンツURL:/wp-content
インクルードURL:/wp-includes/
テンプレートURL:/wp-content/themes/cocoon-master
スタイルシートURL:/wp-content/themes/cocoon-child-master
親テーマスタイル:/wp-content/themes/cocoon-master/style.css
子テーマスタイル:/wp-content/themes/cocoon-child-master/style.css
スキン:/wp-content/themes/cocoon-master/skins/skin-mixred/style.css
WordPressバージョン:6.0.1
PHPバージョン:7.4.28
ブラウザ:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
サーバーソフト:Apache
サーバープロトコル:HTTP/1.1
言語:ja,en-US;q=0.9,en;q=0.8
----------------------------------------------
テーマ名:Cocoon
バージョン:2.4.7
カテゴリ数:6
タグ数:0
ユーザー数:1
----------------------------------------------
子テーマ名:Cocoon Child
バージョン:1.1.1
style.cssサイズ:2590バイト
functions.phpサイズ:203バイト
----------------------------------------------
Gutenberg:1
AMP:1
PWA:1
Font Awesome:5
Auto Post Thumbnail:0
Retina:1
ホームイメージ:/wp-content/themes/cocoon-master/screenshot.jpg
----------------------------------------------
ブラウザキャッシュ有効化:0
HTML縮小化:0
CSS縮小化:0
JavaScript縮小化:0
Lazy Load:1
WEBフォントLazy Load:1
----------------------------------------------
利用中のプラグイン:
Aurora Heatmap 1.5.4
BBQ Firewall 20220517
Broken Link Checker 1.11.17
Contact Form 7 5.6.1
Disable Generate Thumbnails 2.10
Google XML Sitemaps 4.1.5
Invisible reCaptcha 1.2.3
UpdraftPlus - Backup/Restore 1.22.14
Wordfence Security 7.6.0
WP Multibyte Patch 2.9
XO Security 3.3.0
----------------------------------------------


   
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

私は Google Forms や Google Apps Script に詳しくありません。ただ、この動作は仕様のように思えました。少なくとも Cocoon や WordPress が原因ではないのは確実です。

解決方法は kase さんがおっしゃるように、Cocoon か iframe に何かを加えることのように思えます。検索したところ、以下の 2 つが出てきました。いずれも質問内容は、kase さんと同じく「送信した後に上にスクロールしたい」です。

「JavaScript を追加するか、iframe に  onload属性を追加するのはどうでしょう」との回答です。

例えば、子テーマの javascript.js に以下のコードを追加すると kase さんのご希望の動作になるでしょうか?

const googleForm = document.querySelector('iframe[src*="https://docs.google.com/forms"]');
if (googleForm !== null) {
  googleForm.addEventListener('load', () => {
    if (window.scrollY > googleForm.clientHeight) {
      googleForm.scrollIntoView();
    }
  });
}
This post was modified 2年前 by Akira

   
わいひら reacted
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

投稿が二重になったため削除。

This post was modified 2年前 by Akira

   
 kase
(@kase)
New Member Registered
結合: 2年前
投稿: 4
Topic starter  

Akiraさん

ご教授ありがとうございます。
まず、PCで試しました。

子テーマのjavaスクリプト.jsに、ご紹介頂いたコードを貼り付けました。
「次へ」をクリックすると、2ページ目の最上部が表示されました。
しかし2ページ目の「送信」をクリックすると、ページ最上部が表示されず、空白のままでした。
ですので、ご紹介頂いたコードは、1ページ目でしか機能しないようです。

そこで参考リンクを確認した所、オンロード属性をiframeに追加するとあったので、オンロードのコードをiframeに追加してみました。

onload="window.parent.scrollTo(0,0)"

すると、1ページ目の「次へ」とクリックした後に加え、2ページ目の「送信」をクリックした後も、最上部が表示されるようになりました。

もう一つ、参考リンクにあったスクリプトコードをiframeに追加しました。

<script>
document.querySelector("iframe").addEventListener("load", 
    function() {
        window.scrollTo({
    top: 0,
    left: 0,
    behavior: 'smooth'
  });
});
</script>

すると、1ページ目の「次へ」とクリックした後に加え、2ページ目の「送信」をクリックした後も、最上部が表示されるようになりました。

次に、スマホで試しました。
しかし、javaスクリプト.jsにコードを貼り付ける場合、オンロード属性をiframeに追加する場合、スクリプトコードをiframeに追加する場合、いずれも空白のままでした。
スマホの場合は、javaスクリプト.jsのコード、オンロード属性、スクリプトコードは、いずれも機能しない、ということでしょうか?
できれば、スマホにも対応できる何かがあると嬉しいのですが。。

This post was modified 2年前 6回 by kase

   
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

@kase さん

以下のテストフォームをスマホで試したところ、「次へ」のタップで最上部にスクロールします。「送信」は試していないため分かりません。※ フォームにはonload属性が付いていました。

https://kasegix.com/testforms/

スマホのブラウザの設定で JavaScript が無効になっているということはないでしょうか。


   
わいひら reacted
 kase
(@kase)
New Member Registered
結合: 2年前
投稿: 4
Topic starter  

Akiraさん

スマホの設定を見直し、
「次へ」「送信」をタップしたところ、無事に上部の表示が確認できました。

ありがとうございました!


   
わいひら reacted
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました