0
HTMLでJavaScriptのオブジェクト変数をあるページから別のページに渡そうとしていますが、内部ストレージやページハンドラを使用して値を設定するなどの方法を試しました彼らの働いた。次のように私のコードは次のとおりです。 のPage1:javascriptオブジェクト変数をあるHTMLページから別のHTMLページに渡す
<!doctype html>
<html>
<head>
<script>
function putRangeValue() {
pain_value.value = pain_range.value;
}
var empData;
function saveData() {
empData = new Object();
empData.name = emp_name.value;
empData.contact = emp_telephone.value;
empData.address = emp_address.value;
empData.dob = emp_dob.value;
empData.reason_visit = visit_reason.value;
empData.pain_range = pain_range.value;
empData.preferred_time = preferred_time.value;
empData.preferred_date = preferred_date.value;
document.write(empData.name+" "+empData.contact+" ");
document.write(empData.address+" "+empData.dob+" ");
document.write(empData.reason_visit+" "+empData.pain_range+" ");
document.write(empData.preferred_time+" "+empData.preferred_date);
var new_window = window.open("page2.html");
/*var new_window = window.open("page2.html");
new_window.emp=empData.value;*/
}
</script>
</head>
<body>
<fieldset>
<legend>
Personal Details:
</legend>
Name:<br>
<input type="text" id="emp_name" value="john"><br>
Telephone number:<br>
<input type="tel" id="emp_telephone" value="87473257"><br>
E-mail address:<br>
<input type="text" id="emp_address" value="[email protected]"><br>
Date of birth:<br>
<input type="date" id="emp_dob" value="24-04-2017"><br>
</fieldset>
<fieldset>
<legend>
Appointment Request:
</legend>
What is the reason for your visit?<br>
<input type="text" id="visit_reason" value="sick"><br>
Current pain level<br>
<input type="range" min="0" max="10" id="pain_range" value="0" onchange="putRangeValue()">
<input type="text" size="1" id="pain_value" value="0"><br>
Preffered date:<br>
<input type="date" id="preferred_date" value="25-04-2017"><br>
Preferred time:<br>
<input type="time" id="preferred_time" value="23:03"><br>
</fieldset>
<br>
<button onclick="saveData()">Submit</button>
</body>
</html>
ページ2:
<!doctype html>
<html>
<head>
<title>
</title>
<script>
function displayData() {
var emp = window.opener.empData;
document.write(emp.name+" "+emp.contact+" ");
document.write(emp.address+" "+emp.dob+" ");
document.write(emp.reason_visit+" "+emp.pain_range+" ");
document.write(emp.preferred_time+" "+emp.preferred_date);
}
</script>
</head>
<body>
<script>
displayData();
</script>
</body>
</html>
私もhereが言及されているものを試してみましたが、私はいつもにもかかわらず、エラーに
Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.
at displayData (file:///E:/page2.html:13:28)
at file:///E:/file:///E:/page2.html:25:4
を取得します私はフレームを使用していません。
'file://' urlsは常にCORSでブロックされます。代わりにlocalhostからテストしてください。 –
このコードは正しいですが、オブジェクトをアクセスできるようにするには、ページをlocalhost上で実行する必要がありますか?とにかく、ローカルファイルのCORS設定を変更するにはどうしますか? – Mirhawk
あなたはどのブラウザを試していますか? – guest271314