在網站pib.nic.in/newsite/erelease.aspx中,左側鏈接在同一頁面中打開 - 給閱讀和切換下一個主題帶來不便。Greasemonkey腳本無法正常工作,但顯示沒有錯誤?
一個名爲Getrelease
的函數傳遞與點擊項目對應的唯一ID以獲取並顯示在右側列上。
相關頁面,HTML片段是:
<div class="leftrightdiv" id="lreleaseID">
<ul class="link1">
<li style="list-style:none;border-bottom: blue 1px dotted;color:blue;font-size:110%" class="rel">Prime Minister's Office</li>
<!-- <li class="rel" style="border-bottom: teal 1px dotted;cursor:pointer" **onclick='Getrelease(94318)'** >PM's statement at the BRICS Leaders - Africa Dialogue Forum<span style='font-weight:lighter;color: ThreeDDarkShadow;'>()</span></li> -->
<li onclick="Getrelease(94318)" style="border-bottom: teal 1px dotted;cursor:pointer" class="rel">PM's statement at the BRICS Leaders - Africa Dialogue Forum</li>
<li style="list-style:none;border-bottom: blue 1px dotted;color:blue;font-size:110%" class="rel">Ministry of Finance</li>
<!-- <li class="rel" style="border-bottom: teal 1px dotted;cursor:pointer" onclick='Getrelease(94339)' >Central Board of Excise and Customs (CBEC) Offices to Remain open on 29th, 30th & 31stmarch, 2013 ;<span style='font-weight:lighter;color: ThreeDDarkShadow;'>()</span></li> -->
<li onclick="Getrelease(94339)" style="border-bottom: teal 1px dotted;cursor:pointer" class="rel">Central Board of Excise and Customs (CBEC) Offices to Remain open on 29th, 30th & 31stmarch, 2013 ;</li>
<!-- <li class="rel" style="border-bottom: teal 1px dotted;cursor:pointer" onclick='Getrelease(94338)' >India and Liechtenstein Sign Tax Information Exchange Agreement (TIEA)<span style='font-weight:lighter;color: ThreeDDarkShadow;'>()</span></li> -->
<li onclick="Getrelease(94338)" style="border-bottom: teal 1px dotted;cursor:pointer" class="rel">India and Liechtenstein Sign Tax Information Exchange Agreement (TIEA)</li>
<!-- <li class="rel" style="border-bottom: teal 1px dotted;cursor:pointer" onclick='Getrelease(94337)' >Government Committed to bring down the Current Account<span style='font-weight:lighter;color: ThreeDDarkShadow;'>()</span></li> -->
<li onclick="Getrelease(94337)" style="border-bottom: teal 1px dotted;cursor:pointer" class="rel">Government Committed to bring down the Current Account</li>
</ul>
<br>
</div>
我想上述更改爲以下代碼,以便在單擊該項目,將在新頁面打開。
<div class="leftrightdiv" id="lreleaseID">
<ul class="link1">
<li style="list-style:none;border-bottom: blue 1px dotted;color:blue;font-size:110%" class="rel">Prime Minister's Office</li>
<!-- <li class="rel" style="border-bottom: teal 1px dotted;cursor:pointer" onclick='Getrelease(94318)' >PM's statement at the BRICS Leaders - Africa Dialogue Forum<span style='font-weight:lighter;color: ThreeDDarkShadow;'>()</span></li> -->
<li onclick="window.open('http://www.pib.nic.in/newsite/erelease.aspx?relid=94318')" style="border-bottom: teal 1px dotted;cursor:pointer" class="rel">PM's statement at the BRICS Leaders - Africa Dialogue Forum</li>
<li style="list-style:none;border-bottom: blue 1px dotted;color:blue;font-size:110%" class="rel">Ministry of Finance</li>
<!-- <li class="rel" style="border-bottom: teal 1px dotted;cursor:pointer" onclick='Getrelease(94339)' >Central Board of Excise and Customs (CBEC) Offices to Remain open on 29th, 30th & 31stmarch, 2013 ;<span style='font-weight:lighter;color: ThreeDDarkShadow;'>()</span></li> -->
<li onclick="window.open('http://www.pib.nic.in/newsite/erelease.aspx?relid=94339')" style="border-bottom: teal 1px dotted;cursor:pointer" class="rel">Central Board of Excise and Customs (CBEC) Offices to Remain open on 29th, 30th & 31stmarch, 2013 ;</li>
<!-- <li class="rel" style="border-bottom: teal 1px dotted;cursor:pointer" onclick='Getrelease(94338)' >India and Liechtenstein Sign Tax Information Exchange Agreement (TIEA)<span style='font-weight:lighter;color: ThreeDDarkShadow;'>()</span></li> -->
<li onclick="window.open('http://www.pib.nic.in/newsite/erelease.aspx?relid=94338')" style="border-bottom: teal 1px dotted;cursor:pointer" class="rel">India and Liechtenstein Sign Tax Information Exchange Agreement (TIEA)</li>
<!-- <li class="rel" style="border-bottom: teal 1px dotted;cursor:pointer" onclick='Getrelease(94337)' >Government Committed to bring down the Current Account<span style='font-weight:lighter;color: ThreeDDarkShadow;'>()</span></li> -->
<li onclick="window.open('http://www.pib.nic.in/newsite/erelease.aspx?relid=94337')" style="border-bottom: teal 1px dotted;cursor:pointer" class="rel">Government Committed to bring down the Current Account</li>
</ul>
<br>
</div>
所以寫了這個劇本Greasemonkey的:
// ==UserScript==
// @name Press Information Bureau
// @namespace http://userscripts.org/scripts/show/163329
// @description PIB new tab open
// @include http://pib.nic.in*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// @version 2.4
// ==/UserScript==
function replaceOnclick() {
var list = document.getElementById('lreleaseID');
var lists = list.getelementsbytagname('li');
for (i = 0; i < lists.length; i++) {
var Str = lists[i].getAttribute("onclick");
var seconds = Str.indexOf(')');
var url = "http://www.pib.nic.in/newsite/erelease.aspx?relid=" + Str.substring(11, second);
lists[i].setAttribute("onclick", "window.open('" + url + "')");
}
}
的的Greasemonkey腳本注入得到。但它沒有對產出做出預期的改變。
JavaScript使用中的錯誤是什麼?請幫助我。
非常感謝Brock Adams。如你所說,我會盡力修復我的js。我對jQuery很陌生。當加載頁面http://www.pib.nic.in/newsite/erelease.aspx?relid=0時,您給出的代碼工作得非常好。但是,當我選擇日期,月份,年份來查看左側頂部的舊歸檔文件時,請點擊鏈接後的鏈接 –
Brock Adams非常感謝。我會做。 –
我試圖找出,下拉更改後,值通過WebForm_DoCallback函數傳遞以獲取新內容。但無法找到一個解決方案,在它之後觸發相同的jQuery。我已經在鏈接http://stackoverflow.com/questions/15703056/firing-greasemonkey-script-after-ajax-loading尋求幫助。如果你能解決,將是一個很大的幫助。 –