2014-02-13 31 views
1

使用Chrome瀏覽器(技術上,Iron),我想要一個小書籤,將覆蓋 Confluence(技術上Atlassian Confluence 5.2.3),所以沒有一個部分是使用小書籤後摺疊。小書籤改變Confluence的狀態擴大宏

爲什麼?當我在Confluence中搜索擴展宏後面的關鍵字時,會在搜索結果中使用文章中某處的關鍵字標識文章,但是當您導航到文章時,找不到該詞。所以我在頁面(ctrl + f)中查找單詞,並且它不會出現。當我點擊所有展開的宏鏈接後,再次嘗試在頁面中查找時,我能夠找到我的關鍵字。

由於我沒有編碼,我已經做了我最好的...使用代碼在這裏找到: Javascript debut - from Chrome console to a bookmarklet並使用我寫了下面:

javascript:void((function(){function getElementsByClassName(classname, node){if(!node) node = document.getElementsByTagName("body")[0]; var a = [];var re = new RegExp('\\b' + classname + '\\b'); var els = node.getElementsByTagName("*");for(var i=0,j=els.length; i<j; i++)if(re.test(els[i].className))a.push(els[i]);return a;};var elems = getElementsByClassName('ajs-content-hover');for (var i=0;i<elems.length;i+=1){elems[i].style.display = '';}})());

我相信擴大行動來了從一個名爲ajs-content-hover的類中,在某些div上。我對此可能完全錯誤。爲什麼我認爲這是這個類: 我使用展開宏瀏覽了一個頁面,使用了瀏覽器開發工具(ctrl-shift-I),轉到了元素選項卡,單擊了我知道使用擴展宏的鏈接 - 這是目前沒有展開(這是默認行爲),並確定了以下html: <div id="content-hover-1" class="ajs-content-hover" style="display: none;"><div class="contents" style="width: 300px;"></div></div>。我發現這種類型的多個div,具有不同的ID,但具有相同的類和相同的樣式。

我的第一個小書籤改變了整個頁面的樣式,這不是我想要的(導致空白頁)。所以我認爲瞄準這個班可能是合適的,但那也行不通。

希望這是充分的解釋來證明問題,採取的步驟,動機(有時在SO上提出質疑)和期望的狀態。我正在尋找一個解釋,可以讓我到一個工作書籤。

回答

2

我採取了jQuery庫船一起合流的優勢解決了這個。 這使您可以使用CSS選擇器輕鬆定位元素。此外,如果您尚未這樣做,請使用Chrome中的控制檯或使用Firebug來測試您的代碼。

使用標準展開宏時,單擊以展開面板的「鏈接」(實際上只是一個span),它有一個名爲expand-control的類。

只需選擇所有使用類名的點擊目標,然後調用「點擊」事件。所有封閉的面板將被打開,所有打開的面板將被關閉。

javascript:$('.expand-control').click(); 
+0

謝謝!根據需要在Iron/Chrome/IE中運行! – Bewc

+1

我在創建一個類似的小書籤之後偶然發現了這個頁面,除了我已經做了它,它不會切換所有的狀態,但總是隻展開那些摺疊的:'javascript:void(function(){ jQuery(' .expand控制> .icon:否( 「擴展」)') .parent() 。點擊();} ())'。希望能幫助到你。 – haylem

+1

也可作爲一個簡單的Chrome擴展:從網絡商店安裝](https://chrome.google.com/webstore/detail/confluence-auto-expander/cikcpbiockeecaeogocphgojieohacpp)/ [視圖源(https://github.com /洛朗 - malvert/CR-匯合,自動擴展) – haylem