banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

使用JS實現WordPress的頁面導航的新頁面的不同打開方式

最近 CG 的日語培訓課程開始了,因為每天有很多的課業要完成,所以最近沒有怎麼更新,請大家原諒。 昨天解決了一個朋友的小問題,CG 感覺解決問題的方法很簡單也很實用,大家可能也會經常遇到,在這裡分享給大家 問題如下,讓 WordPress 博客系統 PHP 自動生成的首頁導航欄當中的多個頁面的導航的鏈接目標可以用不同的方式打開,比如當前頁面和新頁面兩種方式。 知道 HTML 的朋友可能會用 taget="_self" 和 target="_blank" 來解決,不過 CG 看完 WP 主題中自動生成代碼之後發現解決時很麻煩的事情,因為該主題,PHP 自動的導航欄如果只使用 HTML 實現的話,就只有一種方式,方案否決。 HTML 不行只有求助 JS 來實現可以在沒有頁面內容中增加 JS 代碼來實現彈窗打開,然後再將父頁面返回即可,考慮如果是新打開的頁面同樣包含彈窗 JS 代碼從而產生遞歸,設置一個窗口名驗證即可解決問題。

javascript 代碼如下:

var pageName="demo" // 窗口名
if(window.parent.name != pageName){
window.open (document.location,pageName); // 彈出窗口
window.history.back () ; // 返回上一頁面
}

說明,JS 彈出窗口方式會在 IE6 以上版本被工具欄或 IE 自身禁止,因此,如果是簡單的文字頁面大家可以改成 showModelDialog 來實現 大家如果經常登陸淘寶的話可以發現淘寶使用的 showModelDialog 首先判斷能否實現彈出,不允許的話就換。

javascript 代碼如下

var pageName="demo" // 窗口名
if(window.parent.name != pageName){
window.showModelDialog (document.location,pageName);// 彈出窗口
window.history.back () ; // 返回上一頁面
}

簡單的 JS 說明,定義一個變量 pageName 用來保存頁面的唯一標識 然後就是一個判斷,用來消除遞歸,接著是彈出窗口,最後的當然 就是返回啦,哈哈。

使用方法比較麻煩,需要你對每個頁面單獨添加 JS 腳本,大家可以 在編輯頁面時使用 HTML 源代碼編輯,然後為你的頁面選擇一個唯 一的名稱,修改 pageName,最後加入到你的頁面的最上邊就可以 了。

如果要實現強制彈窗的話,大家可以考慮使用 Flash 來實現,很流氓 也很霸道,實現的話也並不複雜,CG 最近會把方法放上跟大家分享 ,大家期待吧。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。