javascriptを使用して私のウェブページの動的コンテンツでいくつかのフィールドを更新しています。これは、すべてのPCブラウザ(Firefox、IE、Chromeでテスト済み)で完璧に動作しますが、Androidの電話機やiPhoneでは動作しません。電話機は静的コンテンツを表示しますが、javascriptによって書き込まれた値は表示されません。私のjavascriptコードはpcで動作しますが、アンドロイドまたはiosでは実行されません
HTTP GETの返信メッセージの形式に関連付けることができますか?返信メッセージには、生データだけのHTTPヘッダーは含まれていません。
私のjsのコードは以下の通りです:
function get_datetime() {
var GetReq = false;
var hourText = document.getElementById("hour");
var minuteText = document.getElementById("minute");
var dayText = document.getElementById("day");
var monthText = document.getElementById("month");
var yearText = document.getElementById("year");
function GetValComplete() {
if (GetReq.readyState == 4) {
if (GetReq.status == 200) {
var time = GetReq.responseText.split(";");
hourText.value = time[0];
minuteText.value = time[1];
dayText.value = time[2];
monthText.value = time[3];
yearText.value = time[4];
}
}
}
if (window.XMLHttpRequest) {
GetReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
GetReq = new ActiveXObject("Microsoft.XMLHTTP");
}
if (GetReq) {
GetReq.open("GET", "/datetime?id=" + Math.random(), true);
GetReq.onreadystatechange = GetValComplete;
GetReq.send(null);
return true;
}
return false;
}
私のhtmlコードは次のとおりです。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-9" />
<title>date-time</title>
<script type="text/javascript" src="datetime.js"></script>
<style type="text/css">
.auto-style3 {
border: 1px solid #000000;
width: 100px;
}
</style>
</head>
<body onload="get_datetime();">
<br />
<h2><strong>date-time settings:</strong></h2>
<h2><strong></strong></h2>
<br />
<form id="form5" name="form5" method="post" action="">
<p><label for="hour">Hour</label>
<input name="hour" id="hour" class="auto-style3" type="text" /><label for="minute">Minute</label>
<input name="minute" id="minute" class="auto-style3" type="text" /></p>
</form>
<br />
<form id="form6" name="form6" method="post" action="">
<label for="day">Day</label>
<input name="day" class="auto-style3" id="day" type="text" /><label for="month">Month</label>
<input name="month" class="auto-style3" id="month" type="text" /><label for="year">Year</label>
<input name="year" class="auto-style3" id="year" type="text" /></form>
<br />
</body></html>
コードはiPhone上でうまく動作します( 'と' onLoad = 'get_datetime();')を使用しているので、あなたはそれを呼び出す方法あなたのHTML ...詳細を提供したいかもしれません... –
多分、ブラウザ間のハードルをjQueryに委任することで、あなたの問題を解決できるでしょう。 –
デベロッパーコンソールを使用して何が間違っているかを確認します。 – sciritai