2016-11-04 35 views
0

所以,我正在爲一個學校作業寫一個Chrome擴展,而我被困在這部分,我認爲我需要解析一個字符串。這是我第一次使用HTML,CSS和JS,所以我只是在網上搜索關於如何實現這一點的提示。如何修改用戶提交的帶有Chrome擴展程序的搜索輸入的查詢?

基本上,在我們的任務中,我們需要爲Chrome創建一個擴展,這基本上打開了一個新的頁面,我們有一個搜索欄。有這個網站,https://www.manualslib.com/,我們輸入到該搜索欄中的術語需要用來直接搜索該網站。

問題是,這個網站的搜索網址與我以前的網址有些不同:當你搜索某個東西時,網站會把我的搜索詞的第一個字母放在斜線之間,然後最後增加了整個搜索。例如,如果您在那裏搜索genetics,則URL看起來像https://www.manualslib.com/g/genetics.html

所以我想我需要解析字符串以獲得搜索字詞的第一個字符,對嗎?根據w3schools,使用split()方法將是一個好主意。問題是我不太確定這裏的語法是如何工作的。正如我所說的那樣,這是我第一次在網頁開發中進行遊戲,所以我並不熟悉人們在這裏做東西的方式。任何幫助表示讚賞。

這是我對搜索欄的代碼(這個代碼只是重定向到該網頁,它沒有任何搜索):

<div id="tfheader"> 
 
    <form id="tfnewsearch" method="get" action="https://www.manualslib.com/"> 
 
    <input type="text" class="tftextinput" name="str" ; size="21" maxlength="120"> 
 
    <input type="submit" value="search" class="tfbutton"> 
 
    </form> 
 
</div>

什麼樣的變化我做必須做出?我是否需要在編寫解析字符串的函數時創建一個.js文件?或者是HTML文件中寫入的解析函數?任何幫助表示感謝,提前致謝!

+0

不知道什麼期望的結果是什麼?在輸入搜索查詢之後,哪部分網址是您想要檢索的? – guest271314

+0

例如,如果您搜索「遺傳學」,預期的URL是https://www.manualslib.com/g/genetics.html,所以我想我的主要問題是如何檢索搜索項的第一個字母所以我可以將其添加到URL。 – COUTS

+0

你想在'/ g /'或'/ genetics.html'處的'g'處獲得'g'嗎? – guest271314

回答

0

var query = 'genetics'; 
 
var url = 'https://www.manualslib.com/{0}/{1}.html' 
 
    .replace('{0}', query.substring(0, 1)) 
 
    .replace('{1}', query); 
 
console.log(url);

0

onsubmit event可以幫助你。

重定向到另一個網站,只需設置window.location,像這樣:

search_form.onsubmit = function() // will be called as soon as the form is submitted 
{ 
    var searchText = typehead.value; // the text entered in the search bar 
    var redirectTo = "https://www.manualslib.com/"+searchText[0]+"/"+searchText+".html"; 
    window.location = redirectTo; 
} 
相關問題