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 最近会把方法放上跟大家分享 ,大家期待吧。

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.