2012-02-28 104 views
-1

出於某種原因,此確切網頁無法正常工作。 我正在嘗試將文本輸入更新爲當前的iframe源,但我無法事件向它寫入文本。JavaScript document.getElementById()不工作

我無法獲得「currenturl」來更新或更改值。

代碼:

<!DOCTYPE html> 
<html lang="en" dir="ltr"> 
<head> 
    <meta name="viewport" content="width=device-width"/> 
    <meta name="viewport" content="height=device-height"/> 
    <meta name="content-type" content="UTF-8"/> 
    <style type="text/css"> 
     input[type=text]#txt{ 
      z-index:inherit; 
      position:absolute; 
      top:0%; 
      left:0%; 
      width:99%; 
      display:block; 

     } 

     iframe#frame{ 
      z-index:inherit; 
      position:absolute; 
      top:4%; 
      left:0%; 
      width:99.5%; 
      height:96%; 
      display:block; 
     } 

     input[type=button]#go{ 
      z-index:inherit; 
      position:absolute; 
      top:0%; 
      right:0%; 
      display:block; 
     } 
    </style> 
    <script type="text/javascript" src="jquery.js"></script> 
    <script type="text/javascript"> 
     function isUrl(s) { 
      var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/; 
      return regexp.test(s); 
     } 

     function GoToPage(txt,event){ 
      try{ 
       if(event.keyCode==13 || event=="null"){ 
       if(isUrl(txt)){ 
        frame.src=txt; 
       } 
       else{ 
        window.open("https://www.google.com/#hl=en&safe=off&output=search&sclient=psy-ab&q="+txt+"&pbx=1&oq="+txt+"&aq=f&aqi=g4&aql=&gs_sm=3&gs_upl=1172l1858l0l2027l4l4l0l0l0l0l192l557l0.4l4l0&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&fp=eba7411258d36659&biw=1024&bih=681"); 
       } 
       } 
      } 
      catch(err){ 
       alert(err); 
      } 
     } 

     function GetURL(){ 
      try{ 
      alert(frame.src); 
      } 
      catch(err){ 
       alert(err); 
      } 
     } 

     window.onload=function(){ 
      try{ 
       frame=document.getElementById("frame"); 
       currenturl=document.getElementById("currenturl"); 
       currenturl.value="test"; 
       if(!localStorage.settings){ 
        localStorage.settings='{"homepage":"homepage.html"}'; 
        SettingsObj=eval("(" +localStorage.settings+ ")"); 
        alert(SettingsObj.homepage); 
       } 
       //localStorage.settings=""; 
       setInterval("GetURL()",100); 
      } 
      catch(err){ 
       alert(err); 
      } 
     } 

    </script> 
</head> 
<body> 
    <center> 
     <input type="text" id="currenturl" value="" onkeyup="GoToPage(this.value,event);"/> 
     <iframe src="../blank.html" id="frame" frameborder="0"></iframe> 
    </center> 
</body> 
</html> 
+0

哪些瀏覽器出現錯誤? – N30 2012-02-28 22:35:31

+1

我檢查了你的源代碼,你也使用jquery。任何不使用$(「id」)的理由? – N30 2012-02-28 22:36:28

+1

你能描述一下你的最終目標是什麼嗎?現在,它是一個定時器輪詢iframe .src值,看起來像某種黑客。你真的想完成什麼,這樣我們可以指導你解決問題的正確方法? – jfriend00 2012-02-28 22:38:48

回答

0

嘗試此評論:

if(!localStorage.settings){ 
        localStorage.settings='{"homepage":"homepage.html"}'; 
        SettingsObj=eval("(" +localStorage.settings+ ")"); 
        alert(SettingsObj.homepage); 
       } 
       //localStorage.settings=""; 
       setInterval("GetURL()",100); 
1
setInterval("GetURL()",100); 

這一切正在做的是濫發你的警報。我設置的時間間隔更長,它停止發送垃圾郵件給我,並且您的文本框工作正常。

+0

哦,那只是一個測試,看看間隔是否正常。 我忘了提及我剛纔測試它。 – RickyAYoder 2012-02-29 02:00:52

相關問題