2017-04-22 2 views
0

HTML에서 자바 스크립트 객체 변수를 한 페이지에서 다른 페이지로 전달하려고하는데 페이지 핸들러를 사용하여 내부 저장소 및 값을 설정하는 등의 몇 가지 방법을 시도했지만 아무 것도 사용하지 않았습니다. 그들 중 일했다. 페이지 1 :하나의 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()"> 
      &nbsp; 
      <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 다음과 같이 내 코드는 here 언급 된 내용을 나는 또한 시도

<!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> 

,하지만 난 항상 오류를

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 

비록 얻을 나는 어떤 프레임도 사용하지 않고있다.

+0

'file : //'urls은 항상 CORS로 차단됩니다; 대신 localhost에서 테스트하십시오. –

+0

이 코드는 정확하지만 액세스 할 수 있도록 페이지를 로컬 호스트에서 실행해야합니까? 그리고 로컬 파일에 대한 CORS 구성을 수정하는 방법이 있습니까? – Mirhawk

+0

어떤 브라우저를 사용하고 있습니까? – guest271314

답변

1

file: 프로토콜에서 로컬 파일 시스템에 액세스 할 수있는 기능을 설정하기 위해 --allow-file-access-from-files 플래그가 설정된 크롬 또는 크롬을 실행합니다. Read local XML with JS을 참조하십시오.