javascript
  • html5
  • 2012-11-05 2 views 0 likes 
    0

    버튼을 클릭하면 새로운 HTML 페이지에 동적으로 자바 스크립트를 작성하려고하는데 다음과 같은 코드가 있습니다.자바 스크립트를 새로운 HTML 페이지에 동적으로 작성하기

    내가 그러나 나는 "종결되지 않은 문자열 constamnt"를 얻을 이론 그렇게하려고 시도하는 오류를 얻고,이 작업을해야합니다 :

    var html  = '<!DOCTYPE html>\n' 
    html += '<html>\n' 
    html += '<head>\n' 
    html += '<script type="text/javascript">\n' 
    html += 'function testme() {\n' 
    html += 'alert("the test worked!")\n' 
    html += '}\n'  
    html += '</script>\n' 
    html += '</head>\n' 
    html += '<body>\n' 
    html += '</body>\n' 
    html += '</html\n' 
    
    window.open('','').document.write(html) 
    

    답변

    1

    을 당신은 마지막 줄에 폐쇄> 누락

    html += '</html\n' <-- Missing a greater than 
    

    코드가 인라인이며, 경우

    html += '</html>\n' 
    

    해야한다 외부 스크립트가 아니라면 닫는 스크립트 태그를 분리해야합니다.

    html += '</scr' + + 'ipt>\n'; 
    

    또한 세미콜론을 사용하십시오.

    이제 window.open, document.write 행이 이상하게 보입니다.

    html = '<html>\n \ 
         <head>\n \ 
         <script type="text/javascript">\n \ 
          function testme() {\n \ 
           alert("the test worked!")\n \ 
          }\n \ 
         </script>\n \ 
         </head>\n \ 
         <body>\n \ 
         </body>\n \ 
         </html>\n '; 
    

    그러나 거기 : 대부분의 개발자는 너무 줄 끝에 백 슬래시를 추가하는 대신 모든 라인에 html +=을두고 여러 줄을 사용할 수 있습니다

    var winPop = window.open('',''); 
    winPop.document.open(); 
    winPop.document.write(html); 
    winPop.document.close(); 
    
    0

    그냥 팁으로 작성합니다 귀하의 코드에 결함이 있었는데 ></html> 처럼 epascarello는 스크립트 태그를 해체했다고합니다.

    그러나 팝업을 사용하여 다른 html 문서를 열거 나 php 파일을 열고 싶다면 $_GET 값을 가져 와서 사용자 정의 값을 채울 수 있습니다. 무엇보다 신뢰할 수 있습니다.

    Check out the w3c about $_GET

    관련 문제