簡體   English   中英

根據頁面的當前 url 打開一個新窗口

[英]opening a new window based on the current url of the page

因此,表面上我正在嘗試制作一個按鈕或鏈接,其目標取決於當前頁面的 URL。 我正在開發一個 Wordpress 作品集網站,該網站在 Ajax 窗口中打開不同的項目,但我也希望能夠從該窗口鏈接到單獨的項目頁面。 例如,如果我單擊名為“Blue”的項目的縮略圖,它會在 ajax 窗口中打開該項目,並且 url 更改為“www.website.com/#blue”。 順便提一下,相應項目頁面的 url 將是“www.website.com/projects/blue”。 這個想法是將按鈕硬編碼到 Ajax 窗口中並編寫一個腳本來為項目頁面生成正確的 URL,這樣我的客戶就不必在每次發布時復制粘貼按鈕的代碼並更新目標 URL項目。 這就是我想出來的,但我對 Jquery 或 Javascript 並不擅長,我認為我的語法或腳本結構可能有問題。 現在,當我按下按鈕時什么也沒有發生。

首先,它在每個“/”處拆分 url,並從不同的字符串創建一個數組,然后從唯一字符串中刪除“#”,並使用新地址打開一個新窗口。

編輯有一些語法錯誤,但它仍然無法正常工作。 關於這個新版本的任何想法:

$(".comment_button").click(function(){
var parse_url = window.location.href.split('/');
var project_name = parse_url[2].replace("#", "");
window.open("http://www.balletinform.com/projects/" + project_name);
});

嘗試使用a元件?,與target="_blank"屬性?

<a id="blue" href="www.website.com/projects/blue" target="_blank">blue</a>

如果我理解正確,您想要獲得的是 url 的#blue部分。

如果是這樣,您可以使用window.location.hash

您的函數將看起來像window.open("http://www.balletinform.com/projects/" + window.location.hash.substring(1));

您當前的功能是將 project_name 設置為"www.balletinform.com" ( [0]=>"http:"; splitted(/); [1]=>""; splitted('/'); [2]=>"www.balletinform.com"; splitted('/'); [3]=>"#blue")
因此,另一種解決方案是var project_name = parse_url[parse_url.length-1].replace("#", "");

var new_url=""+(window.location.href).replace('#','projects/');
window.open(new_url);

嘗試用“projects/”替換#

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM