2015-02-05 50 views
0

我有一些HTML和一些JavaScript代碼應該在文本框中輸入,並打開一個新的選項卡與任何文本框中的維基百科頁面。但是,我將此作爲擴展名使用,並且谷歌瀏覽器不支持嵌入式JavaScript。 page.jsJavascript代碼沒有在按鈕單擊執行

document.getElementById("search").addEventListener("click", searchPage); 

function searchPage() { 
    console.log("test") 
    var temp = document.getElementById(pageName); 
    var temp = temp.value; 
    var myPage = "http://en.wikipedia.org/wiki/" + temp; 
    window.location.replace(myPage); 
} 

popup.html

<!DOCTYPE html> 
<html> 
    <body> 
     <a href="http://en.wikipedia.org/wiki/Special:Random/" target="_blank">Random</a> 
     Enter page to lookup: <input type="text" id="pageName" /><br /> 
     <input type="submit" value="Submit" id="search" /> 
     <script src="./page.js></script> 
    </body> 
</html> 

任何人都有這是爲什麼不工作的任何線索?

+0

我想你的意思是'document.getElementById(「pageName」)'。 –

+0

改變了,什麼都沒發生。我仍然沒有輸出。 – Kookerus

回答

0

你可以做什麼,而不是是在HTML <head>標記您的JS,並添加onClick屬性,你的按鈕,像這樣:

<!DOCTYPE html> 
<html> 
    <body> 
     <a href="http://en.wikipedia.org/wiki/Special:Random/" target="_blank">$ 
     Enter page to lookup: <input type="text" id="pageName" /><br /> 
     <input type="submit" value="Submit" id="search" /> 
     <script src="./page.js"></script> 
    </body> 
</html> 

我認爲問題是,在你的原代碼,你有<script src="./page.js></script>,而不是<script src="./page.js"></script>

那麼你就可以改變你的JavaScript是以下幾點:

document.getElementById('search').addEventListener('click', searchPage); 

function searchPage() { 
    console.log("hjabdfs"); 
    var temp = document.getElementById('pageName'); 
    var temp = temp.value; 
    var myPage = "http://en.wikipedia.org/wiki/" + temp; 
    window.location.replace(myPage); 
} 

請注意,我也將var temp = document.getElementById(pageName)更改爲var temp = document.getElementById('pageName'),因爲pageName不是變量。

+1

Chrome擴展程序無法正常工作,並且在腳本使用「onclick」或包含在頭標記中時會引發錯誤。 – Kookerus

+0

道歉 - 請檢查修訂。希望這個作品:) – SaintDako

+0

太棒了!我從'console.log()'獲得控制檯輸出,但沒有打開新的頁面。你有什麼建議嗎? – Kookerus

0

輸入類型提交正在嘗試提交表單。您需要向該提交按鈕添加一個操作,或者您可以將其更改爲一個按鈕,並且該事件將會觸發。

+0

我改變了類型爲「按鈕」,但我什麼也沒有得到。我是否也必須改變「價值」? – Kookerus

+0

另外還要注意,在你的搜索函數中你定義了temp兩次,只定義一次變量 – Asheliahut

+0

這個腳本根本沒有被執行。我嘗試將它移動到主體的頂部,但我得到一個「Uncaught TyepError」 – Kookerus

0

您的click事件偵聽器無法工作,因爲它尚未加載。換句話說,你需要確保這條線<script src="./page.js></script>正確指向page.js