午接到博客訪客的反饋,表示博客中的鏈接在原窗口打開的話,網站的體驗非常的不好,而自己又懶的一個個去修改博客網頁中的鏈接打開方式,就加了一個強制頁面所有鏈接新窗口打開的代碼,一招解決問題。
<base target="_blank">
將此代碼放到,網頁中的 <head>標簽之內即可實現,當前頁面所有A鏈接新窗口打開
<base>:標簽當前頁面上的所有的相對鏈接規定默認 URL 或 默認目標。
語法:
<base href="網址" target="打開的方式">
屬性;
herf:規定的默認鏈接
target:鏈接打開的方式,參數有 _blank,_self 等,與A標簽的 target 屬性相同
<base target="_blank">
<base target="_self">
<!DOCTYPE html> <html lang="en"> <head> <base href="https://www.feiniaomy.com" target="_blank"> <title>Document</title> </head> <body> <a href="/post/1.html">我是相對鏈接,我可以打開 https://www.feiniaomy.com/post/1.html</a> <a href="http://www.baidu.com">我是絕對鏈接,我可以打開 http://www.baidu.com</a> </body> </html>
1、一個頁面中,<base> 標簽只能出現一次
2、<base> 標簽只能在 <head></head>標簽中出現
3、<base> 屬于單標簽,沒有結束標簽,類似 <img> 標簽
單擊帶有超鏈接的文件時,超鏈接的內容有多種,打開方式,如替換當前頁打開,在新窗口打開等。而用來指定打開方式的是<a>標簽的target屬性。
如果在一個<a>標簽內容含一個target屬性,瀏覽器將會載入和顯示用這個標簽的href屬性命名的、名稱與這個目標吻合的框架或者窗口中的文檔。如果這個指定名稱或id的框架或者窗口不存在,瀏覽器將打開一個新窗口,并給這個窗口一個指定的標記,然后將新的文檔載入那個窗口。從此以后,超鏈接文檔就可以指向這個新的窗口。
target屬性的代碼格式如下:
<a target="value">
其中value有四個參數可用,這4個保留的目標名稱用作特殊的文檔重定向操作。
(1)-blank。瀏覽器總在一個新打開、未命名的窗口中載入目標文檔。
(2)-self。這個目標的值對所有未指定目標的<a>標簽是默認目標,使得目標文檔載入并顯示在相同的框架或者窗口中作為源文檔。這個目標是多余且不必要的,除非和文檔標題 <base>標簽中的target屬性一起使用。
(3)-parent。這個目標使得文檔載入父窗口或者包含超鏈接引用的框架的框架集。如果這個引用是在窗口或者頂級框架中,那么它與目標-self等效。
(4)-top。這個目標使的文檔載入包含這個超鏈接的窗口,用-tap目標將會清除所有被包含的框架并將文檔載入整個瀏覽器窗口。
小提示:這些target的所有4個值都以下劃線開始。任何其他用一個下劃線作為開頭的窗口或者目標都會被瀏覽器忽略,因此,不要將下劃線作為文檔中定義的任何框架name或id的第一個字符。
下面舉例說明target屬性的使用方法。
(1)編寫代碼如下圖所示:
(2)在瀏覽器中打開文件,預覽效果如下所示:
(3)單擊超鏈接,在新窗口打開連接頁面,下圖所示
(4)修改代碼并單擊鏈接。
將“-blank”換成“-self”,即代碼修改為“<a target="_self">新浪</a>”,單擊鏈接后,直接在當前窗口打開新鏈接,如圖所示:
個項目切圖需要用到的,做個筆記。
jquery打開新窗口window.open和新窗口操作父窗口window.opener,支持jquery寫法,支持打開窗口帶參數,新窗口url獲取參數等等。
打開新窗口
function newDialog(id){
var url = 'dialog.html?id='+id;
var iWidth = 260;
var iHeight = 550;
var iTop = (window.screen.height-30-iHeight)/2;
var iLeft = (window.screen.width-10-iWidth)/2;
window.open(url,'newBridge','left='+iLeft+',top='+iTop+',width='+iWidth+',height='+iHeight+',location=no,resizable=yes,status=no,toolbar=no,menubar=no');
}
新窗口操作父窗口
document.getElementById("get_selected_vals").onclick = function (){
//alert(yntree.getValues());
//var windowOpener=window.opener;
var parent=$(window.opener.document);
var id = getQueryString('id');
parent.find('#'+id).val(yntree.getValues());
//windowOpener.location.reload(true);
window.close();
}
獲取url參數
//alert(getQueryString('id'));
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
本文由專業的WEB前端外包公司-切圖網原創,切圖網始于2007年,提供高品質的前端開發服務、前端外包、切圖外包。歡迎來電咨詢!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。