質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

5757閲覧

同じ「OS・ブラウザ・version」なのに端末で挙動が違う

kjshdfiuasye

総合スコア29

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

2クリップ

投稿2020/07/10 02:29

編集2020/07/14 02:35

実現したいこと

WEBページを作り、
ブラウザチェックしたのち、
「このWEBサイトは
・OS=○○○○○
・ブラウザ名=○○○○○
・ブラウザversion=○○○○○
の環境で正常に動きます。」
という案内をしたい。

発生している問題

同じ「OS・ブラウザ・version」なのに端末で挙動が違うので上記案内ができない。
下記pcAとpcBでjavascriptの挙動が異なる。

●pcA
・OS=windows10
・ブラウザ名=chrome
・ブラウザversion=83.0.4103.116(Official Build)

●pcB
・OS=windows10
・ブラウザ名=chrome
・ブラウザversion=83.0.4103.116(Official Build)

問題が発生するページ

下記はgithubで公開されている、スムーススクロールを実装するプラグインの公式デモページです。
https://cferdinandi.github.io/smooth-scroll

「Linear (no other options)」をクリックした後の挙動は、

・pcA=スルスルとアニメーションしながらスクロールする
・pcB=パッと一瞬でスクロール位置まで移動する

です。

試したこと

●1:googleで似たようなケースを調べる

http://blog.surfboard.co.jp/staff/archives/2013/11/chrome.php
を発見。ブラウザに対して何個か操作をすることで解決したとのこと。

しかし
「キャッシュをクリアしてください。ブラウザ設定をリセットしてください。ブラウザを再インストールしてください」等と、
WEBページへの訪問者に操作を依頼することは避けたい。
開発者側で対策をしたい。

●2:pcBでjavascriptが効いていないかもと思い、javascriptでalertを出す簡素なプログラムを実装したが
alertはきちんと出たのでpcBでjavascriptは無効になっていない。

●3:pcBで
https://cferdinandi.github.io/smooth-scroll
を開き検証ツールのconsoleタブを見てみたが、エラーは出ていない。

対応策

原因はthink49様のご回答より判明しました。
windows10のシステム>システム情報>システムの詳細設定>パフォーマンス内の「設定」>パフォーマンスオプション
の初期状態「コンピューターに応じて最適なものを自動的に選択する」にチェックが入っていることにより、pcBにおいて「Windows内のアニメーションコントロールと要素」にチェックが外れていたことが原因でした。

初期状態「コンピューターに応じて最適なものを自動的に選択する」にチェックが入っている状態で、アニメ実行を制限する「Windows内のアニメーションコントロールと要素」に自動的にチェックが入るかどうかは、コンピューターの何を基準に判断されるのかmicrosoftに問い合わせました。しかし無料問い合わせのサポート外案件とのことで、初期設定の状態でどんな端末環境だとアニメが制限されるのかは分かりませんでした。jQueryでのスムーススクロールであればpcBでも動きましたのでjQueryで対応しようと思います。今後ブラウザチェックでは、「Windows内のアニメーションコントロールと要素」をONした時とOFFにした時両方で動くかを基準に、対応ブラウザを案内しようと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

「このWEBサイトは

・OS=○○○○○
・ブラウザ名=○○○○○
・ブラウザversion=○○○○○
の環境で正常に動きます。」
という案内をしたい。

そもそも、案内が適切ではありません。Chromeのバージョンはほぼ自動的にアップデートされていきますので、(数週間のバージョンアップに追随して、毎回続けていくのでなければ)特定のバージョンを表示して「動作検証済み」ということに、そこまでの意味がありません。

投稿2020/07/10 02:35

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/07/10 02:40

あとは、ブラウザ拡張の影響も考えられます。
kjshdfiuasye

2020/07/10 03:44

ご回答ありがとうございます。制作依頼者に納品する時に、どんな環境で正常に動くのか説明する必要があり、このような案内になっています。説明不足でしたがWEBページに掲載する案内ではなく、制作依頼者に対する案内となります。また、制作時点での各ブラウザ最新バージョンでバグが起きないようにしたいという理由から、ブラウザチェック をしていたのですが同じバージョンのブラウザなのに端末によって挙動が違うのでどうしたらいいか行き詰まっています。chromeに拡張機能を入れているかどうか、これから確認いたします。よろしくお願いします。
kjshdfiuasye

2020/07/10 06:16

chromeの拡張機能をpcAとpcBで確認しましたが、どちらも ・Google オフライン ドキュメント ・スプレッドシート(Chrome アプリ) ・スライド(Chrome アプリ) ・ドキュメント(Chrome アプリ) が入っていて差はありませんでした。
maisumakun

2020/07/10 06:22

プライベートモードで実行してみたらどうなりますでしょうか?
kjshdfiuasye

2020/07/10 06:39

コメントありがとうございます。 pcBでシークレット ウィンドウを開き、 https://cferdinandi.github.io/smooth-scroll にアクセスしたのですが、スムーススクロールは効きませんでした。 pcAもシークレット ウィンドウを開き、 同じページにアクセスしましたが、スムーススクロールは正常に作動します。
guest

0

ベストアンサー

Windows 10のパフォーマンス オプション、視覚効果の違いではないでしょうか。
「デザインを優先する」 or 「パフォーマンスを優先する」で挙動が変わることを確認しました。
「コンピューターに応じて最適なものを自動的に選択する」であると端末により変化するかもしれません。
変更の際はブラウザの再起動が必要です。

投稿2020/07/10 08:52

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gvaslkjlie

2020/07/10 10:47

ご回答ありがとうございます。アカウントは違いますが、質問者です。挙動を確認してくださり、感謝します。端末を確認できるのが火曜日なので、今しばらくお待ちいただければと思います。よろしくお願いします。
kjshdfiuasye

2020/07/14 01:27

お待たせいたしました。pcBにて「コンピューターに応じて最適なものを自動的に選択する」になっていたのを「デザインを優先する」にして、chrome再起動→該当ページでページ内リンクをクリック→スムーススクロールが実行されました!これが原因だったようです。ただ、ページ訪問者に「パフォーマンス オプションを変更してください」と案内はしたくないので、初期設定である「コンピューターに応じて最適なものを自動的に選択する」になっている時の自動選択される判断基準をmicrosoftに聞いてみます。
guest

0

プロファイルを初期化

GoogleChromeの設定起因とするなら、プロファイルを初期化すれば、同じ動作になるはずなので、

  1. [ユーザ管理] から新規ユーザを追加
  2. 追加時に同期しない(完全な初期設定にする)

で「同じ動作」が実現出来るのではないかと思います。
https://support.google.com/chrome/answer/2364824?co=GENIE.Platform%3DDesktop&hl=ja

過去ログ

過去に同様の質問に回答しました。
https://teratail.com/questions/176680

Re: kjshdfiuasye さん

投稿2020/07/10 04:23

編集2020/07/10 04:26
think49

総合スコア18189

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kjshdfiuasye

2020/07/10 06:19

ご回答ありがとうございます。いただいたご回答の見出し「プロファイルを初期化」の手順をpcAとpcBで行い、それぞれスムーススクロールの挙動を確認しましたが、 ・pcA=スルスルとアニメーションしながらスクロールする ・pcB=パッと一瞬でスクロール位置まで移動する の状態は変わりませんでした。 いただいたご回答の見出し「過去ログ」のURLもみましたが、質問本文記載の通り、WEBページへの訪問者に操作を依頼することは避けたい、開発者側で対策をしたい、と考えております。
kjshdfiuasye

2020/07/10 06:29

避けたいことについて言及しましたが、原因を知るには有効であると思いましたので https://teratail.com/questions/176680 の ・シークレットウインドウで開く (設定が既定値なら、全拡張Off) ・全ての拡張を無効化or削除する ・Google Chromeのプロファイルを削除する ・Google Chromeのクリーンインストール を試してみようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問