最近接到个任务- -做一个能让淘宝众筹的链接在微信里打开的东东.- –

都懂的,微信里是打不开淘宝的链接的.所以就需要在非淘宝域名的网页里内嵌一个 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