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

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

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

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

3664閲覧

android4.1 chromeで外部jsファイルが読み込まない

u-sukesan

総合スコア156

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/11/07 15:29

タブレット android4.1 chromeで

index.html

<!DOCTYPE html> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="content-style-type" content="text/css"/> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="robots" content="noimageindex"> <meta name="robots" content="noindex"> <title>タイトル</title> <script type='text/javascript' src="js/jquery-2.1.4.min.js"></script> <script type='text/javascript' src='js/common.js'></script> </head> <body> <form> //中略 <button id="loginbtn">ログイン</button> </form> </body> </html>

common.js

$(document).on("click touchend","#loginbtn",function(event){ event.preventDefault(); alert(2); })

で、反応しません。click扱いとなります。
読み込まれていない、と判断したのですが、パスも間違っていません。
PC、iOSでは問題なく動作します。
android特有でしょうか?対策はございますでしょうか

しかし、下記のように直描きするとandroidでも問題なく動きます。

<!DOCTYPE html> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="content-style-type" content="text/css"/> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="robots" content="noimageindex"> <meta name="robots" content="noindex"> <title>タイトル</title> <script type='text/javascript' src="js/jquery-2.1.4.min.js"></script> <script> $(document).on("click touchend","#loginbtn",function(event){ event.preventDefault(); alert(2); }) </script> </head> <body> //中略 <button id="loginbtn">ログイン</button> </body> </html>

その他、下記も試しましたがダメでした。
common.js

$(document).on("touchstart","#loginbtn",function(event){ event.preventDefault(); }).on("click touchend","#loginbtn",function(){ alert(2); })

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

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

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

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

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

guest

回答2

0

ChromeのDeveloper ToolsをAndroid上のChromeにも対応させ
不具合部分を見つけ解決に至りました。

投稿2017/11/08 13:16

u-sukesan

総合スコア156

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

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

0

ベストアンサー

全体を$(function(){})の中に入れていないことが原因かもしれません。

$(function(){})の中身はHTMLの構築後に実行されるので、HTML要素へのアクセスも全く問題ないですが、それを書かなければ実行のタイミングは読み込み時となるので、DOMの構築状況がタイミング次第になる、ということも考えられます。

投稿2017/11/07 23:42

maisumakun

総合スコア145183

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

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

u-sukesan

2017/11/08 00:33 編集

ご回答ありがとうございます。 $(function(){}) で囲ってみましたが、変わらずでした。 ちなみに以下も試しましたが、反応なしでした $(function(){ alert("読み込みOK"); })
maisumakun

2017/11/08 00:57

ファイル名が違うとか、そういうことはありませんか?
maisumakun

2017/11/08 00:58

あと、キャッシュが残る場合もあるので、開発中は要注意です。
u-sukesan

2017/11/08 01:00

はい、androidのchromeブラウザで view-source:http://URLとし ソースを開いて→ <script type='text/javascript' src='js/common.js'></script>をクリックで ちゃんとリンクファイルが開きます
u-sukesan

2017/11/08 01:01

上記方法で、 <script type='text/javascript' src='js/common.js'></script>をクリックで リンクファイルを開いてリロードしているのでキャッシュは書き換わっていると思います
u-sukesan

2017/11/08 01:13

やはり、そうですよね 試そうと思ったのですが、データ通信しないUSBなのか、PCに繋いでも充電はするのですが、上記remote deviceに表示されず、接続したタブレットが認識されなかったので保留にしていました。 USBを購入して試してみます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問