标签归档:iframe

Iframe解决用户等待的问题

最近在做一个视频分享网站,光是视频转码就研究了很长时间,而且还不见得全部支持。语言用的PHP,转化库安装的是ffmpeg和一堆转码库吧!不过最后还是有很多格式不支持,甚至于常见的MP4,各位有解决办法的希望留言或者发邮件。作者将十分感谢。

好的切入正题,视频由上传到转化是一个很漫长的过程。对于用户而言,有可能让人摸不到头脑,不知道自己的视频到哪里去了。

所以,第一步就是利用Iframe做出一个上传文件的进度条,详细情况,可参看

PHP上传文件可能发生的错误

这篇文章。另外就是转化的问题。鉴于同事建议,参考了优酷的做法,就是当用户上传完成以后,给用户一个提示。然后过段时间以后,让用户来看自己上传的视频转化结果。

另外还有一个耗费时间的转化PHP页面,这个页面应该什么时候出来呢?

没错,他们两个可以一起出来的,用一个iframe嵌套,并且将转化的那个php页面隐藏掉。这样用户将只看到一个提示页面,但是却在同时启动了后台的转化进程。为了保证进程与文件之间的同步,也就是避免这次转化的页面转化的是另一次上传的文件,对于每一次上传的文件采用uniqueid()来确定一额唯一编码,然后自始至终伴随了该值的传递。包括异步上传显示的进度条。

最后还有一个需要确认的问题,就是当用户把php页面窗口关闭以后,后台的执行过程是不会停止的。这个可以通过:

再学php正则表达式——-批量下载jpg

这篇文章来做一个实验来证明。

选择一个比较多图片的url,比如说www.sina.com,然后访问一下页面,然后关闭浏览器。然后查看根目录下的pics目录。效果出现了,耗时的jpg爬行下载没有因为浏览器的关闭而停止!

Iframe之间父子窗体之间互相调用

不要告诉我,你不知道Iframe是什么东西,不知道的去谷歌或者百度吧。

iframe至少涉及到两个窗口,姑且命名为父窗口和主窗口。很多ajax异步上传文件的东西,就是通过这个东东调用的。两个窗口之间各自维系着一套独立的javascript的脚本。

父掉子的方法是iframe的name值,加上点,加上window然后调用相应的函数名。比如说有个叫frame的iframe吧,iframe.window.abc()就是调用其中的abc函数。

子调用父的直接用parent.函数名就可以了。

做如下的代码实验: 继续阅读