两个页面之间的跳转,有时候需要些参数;比如这边input框输入了什么东西,跳转的页面需要接受这些参数,这是今天所讲的需求。
1,那么我们该怎么做了?
if(isURL(text)){ var tx=escape(text) window.open(`/black?ifrUrl=${tx}`); return false; }
比如这里获取到了一个数据text,我们要把它传入新打开的页面black.html中,写法上面已经有了就是简单的添加一个?就行了;那么这边该怎么接受了;
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; }
这是black这边的接收方式,其实这个函数只是个辅助工具,有很多这样封装的方法;window.location.search是获取到 ifrUrl=${tx}的js提供的方法;函数只是个正则
获取到里面的tx而已;这里大家应该都明白了,但是还有一个东西 var tx=escape(text) return unescape(r[2]); 这是转码防止乱码的东西,你如果不用,你传过去的中文有可能乱码;
不信你可以试一试,我看w3c上面比较提倡 decodeURI() 和 decodeURIComponent()来代替它,但是我用了没有用;
这个下来还要试试;