2012-09-05 25 views
1

我正在構建一個Firefox擴展,本質上,我想在特定網站上的網頁上添加一個按鈕。我知道確切地說我需要在頁面源代碼中進行更改,以及我需要放置的位置,但我不知道如何執行以下操作:1.閱讀頁面源代碼(我應該能夠自己弄清楚這一點) 2.編輯頁面的源代碼(我一直在潛伏,但找不到任何辦法做到這一點) 3.自動更新顯示的頁面如何使用javascript編輯頁面源代碼

而且,在一般情況下,這是最好的辦法?最主要的是,我想要無縫注入代碼到頁面中。例如,堆棧溢出的頁面源代碼包含這樣的部分:

<div class="nav mainnavs"> 
       <ul> 
        <li><a id="nav-questions" href="/questions">Questions</a></li> 
        <li><a id="nav-tags" href="/tags">Tags</a></li> 
        <li><a id="nav-users" href="/users">Users</a></li> 
        <li><a id="nav-badges" href="/badges">Badges</a></li> 
        <li><a id="nav-unanswered" href="/unanswered">Unanswered</a></li> 
       </ul> 
      </div> 

如果我想注入

<li><a id="nav-home" href="http://stackoverflow.com/">Home</a></li> 

所以出現主頁按鈕行?

+0

你要編輯的來源?不會編輯DOM就夠了嗎? – SoonDead

+0

如果你想編輯頁面源,你可以攔截響應:http://www.softwareishard.com/blog/firebug/nsitraceablechannel-intercept-http-traffic/或http://www.ashita.org/howto- xhr-listening-by-a-firefox-addon/ – SoonDead

回答

2

你可以做這樣的事情

$("div.easy_editor ul").append('<li><a id="nav-home" href="http://stackoverflow.com/">Home</a></li>'); 
+1

至少你應該在你的解決方案中標記你正在使用jQuery。此外,它只編輯DOM而不是源代碼(儘管目前還不清楚OP是否需要)。 – SoonDead

+1

如果我不清楚,我很抱歉,這可能源於我對Web開發的不瞭解。該代碼如何識別現有的源代碼,或者將其放置在何處。是否有可能編輯一些隨機網頁的頁面源代碼,以便您的瀏覽器可以使它顯示不同的東西? –

+1

@ senjougahara-hitagi不要沮喪,SO只是爲了從別人那裏學習東西,基本上在代碼部分附加你的html它的一個jquer函數,它將特定的html附加到html的一部分中去查看這裏獲取更多http://api.jquery.com/append/ –

相關問題