最近接到个任务- -做一个能让淘宝众筹的链接在微信里打开的东东.- –
都懂的,微信里是打不开淘宝的链接的.所以就需要在非淘宝域名的网页里内嵌一个 iframe 来打开淘宝的页面.
不过问题来了- -这样做的话
可这样的话- -在微信里打开的话,在最后下单付款那里会跳到淘宝的域名,从而被拦截.
之后发现是那个下单链接用了 target=”_blank” 属性…所以在 iframe 被直接打开了.
之后- -就上网搜方法- -要么是跨域,不能修改.要么就是根本牛头不对马嘴- – 又不能指望淘宝众筹把那个属性给删了…..
后来,看到了 这里 html5 里 iframe 有个叫 sandbox 的属性- -把 iframe 里的网页给关笼子里的属性.
所以,就来找找这个的用法.
找到这样一篇文章.
http://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/
很好的解释了 sandbox 这个属性的用法,下面摘录一下.
- allow-forms 允许表格提交.
- allow-popups允许窗口弹出- -这里首先把这个干掉~
- allow-pointer-lock 锁定焦点?
- allow-same-origin 允许相同来源
- allow-scripts 允许脚本运行
- allow-top-navigation 允许 iframe 里面的网页跳出来
好了,既然看到这里,我们就知道如何做了
加上了这一段
sandbox=”allow-same-origin allow-scripts allow-forms”
然后测试- -OK了,在微信里下单付款不会被拦截了.
demo页面:www.zhaojin97.cn/zhongchou
demo 下载:http://nas.zhaojin97.cn:84/downfile.php?action=view&file_id=38&file_key=66mCud3K