2012-09-17 87 views
2

我一直在搜索這個問題很長一段時間,但我似乎無法找到解決方案。在位置欄中使用唯一網址打開colorbox

讓我先來描述一下這個問題: 我有一個頁面,當點擊一個鏈接時打開一個colorbox彈出窗口。發生這種情況時,地址欄中的URL保持不變。我希望更改此URL,以便將訪問者直接鏈接到colorbox彈出窗口,而不必指導他們點擊鏈接。

本頁面說明了什麼我試圖做到: http://www.uu.nl/daretoexcel/#lightbox=http://www.uu.nl/daretoexcel/detail/young-leaders-league

所以,當你在地址欄locatian看你看的URL如上所述。當您關閉彈出窗口時,URL更改爲:http://www.uu.nl/daretoexcel/#。再次打開其他窗口時,URL會變成類似的內容。所以我知道如何打開彩盒,我知道它的工作原理。只是地址欄中的網址始終保持不變。

我看過他們的代碼,但我不太明白。我不想僅僅複製&粘貼而不知道究竟發生了什麼。

請問有人可以幫我嗎?!

謝謝你在前進,

湯姆

+0

看看http://www.uu.nl/daretoexcel/wp-content/themes/uu/includes/script/functions.js,特別是'hashLoad'函數 –

+0

不需要額外的libs ,他只需要兩個事件onComplete和onClosed。第一次設置散列,第二次清除它。 2行代碼。 – webdeveloper

回答

0

那你覺得比較簡單,他們只是使用散列。您可以查看帶有事件的colorbox網站上的示例。獲得像這樣的href:How do you get a return value from a colorbox?,然後設置哈希:document.location.hash和關閉事件刪除哈希。

+0

嗨webdeveloper,我認爲它的工作,但它只是部分做到了。 URL發生變化,但是當我複製粘貼鏈接到新選項卡時,colorbox不會打開。 –

+0

這是由另一個代碼完成的,在文檔就緒事件中,只需檢查散列中的參數(它們使用lightbox)並打開colorbox,散列就是字符串,這就是爲什麼你需要解析它。 – webdeveloper

+0

謝謝你的工作 –

1

您需要:

$(function() { 
$.colorbox({html: "<h1>Welcome</h1>"}); 
}) 

這將打開顏色框上的document.ready指定頁面上。您可能需要在要打開的頁面上將某些類添加到正文中,您可以通過在url中添加一個參數來添加像/mypage.html?opencolorbox=true這樣的類,然後添加該類使用asp,php或任何其他服務器端語言您正在使用。或者,只需將上面的腳本僅在打開colorbox的頁面上運行。

你也可以打開它的iframe,或顯示內嵌的內容,如:

$(function() { 
$.colorbox({href: "login.php"}); 
}) 

將顯示在顏色框

$(function() { 
$.colorbox({inline: true, href: "#form"}); 
}) 

中的login.php將與顯示元素的內容id #form

+0

嗨Liam,謝謝你的回答。雖然這不是我真正想要的。我會試着通過編輯我的主要帖子來澄清它。 –