请教,怎么把html页面转成html5,包含对于javascript的解析

时间:2022-09-15 13:15:32
因为项目需要,需要将html格式的文件转成html5, 主要需要对于flash标签转为html5的video形式.以下是我的资料分析:


swf在页面中嵌入的方式通常有这样4种方式:
a) object标签
OBJECT标签是用于windows IE3.0及以后浏览器或者其它支持Activex控件的浏览器

<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="100" HEIGHT="100" CODEBASE="http://active.macromedia.com/flash4/cabs/ swflash.cab#version=4,0,0,0"> <PARAM NAME="MOVIE" VALUE="moviename.swf"> <PARAM NAME="PLAY" VALUE="true"> <PARAM NAME="LOOP" VALUE="true"> <PARAM NAME="QUALITY" VALUE="high"> </OBJECT>
b) embed标签
EMBED是用于windows和Macintosh平台下的Netscape Navigator(NN)浏览器以及Macintosh平台下的IE浏览器以及Firefox(FF)
浏览器
<EMBED SRC="moviename.swf" WIDTH="100" HEIGHT="100" PLAY="true" LOOP="true" QUALITY="high" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/ index.cgi?P1_Prod_Version=ShockwaveFlash"> </EMBED>
c) Object & Embed
由于object和embed标签的局限性,不能同时兼容IE,NN,FF等浏览器。因此有人采用如下的小技巧,也即把embed标签嵌入到object标签中来达到兼容性目的。
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" 
WIDTH="550" HEIGHT="400" id="myMovieName"> 
<PARAM NAME=movie VALUE="myFlashMovie.swf"> 
<PARAM NAME=quality VALUE=high> 
<PARAM NAME=bgcolor VALUE=#FFFFFF> 
<EMBED src="http://www.doflash.net/"/support/flash/ts/documents/myFlashMovie.swf"" quality=high bgcolor=#FFFFFF WIDTH="550" HEIGHT="400" 
NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash" 
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"> 
</EMBED> 
</OBJECT> 
d) JavaScript法
此方法因支持多种浏览器而被广泛使用,然而由于具体的js代码随各网站自行设计而不同,没有统一的标准。虽然目前网络上流传有swfobject作为一个js库来专门用于插入swf文件到网页中,但它并不是主流。
swfobject.embedSWF(swfUrl, id, width, height, version, expressInstallSwfurl, flashvars, params, attributes, callbackFn)






请教这个转换过程如何实现?

22 个解决方案

#1


体力活…

#2


引用 1 楼 abrianna 的回复:
体力活…


什么意思? 我是说用程序转换

#3


需要对于flash标签转为html5的video形式,这步涉及到视频格式的转换,怎么办?

不可通知让<video>标签直接去读flash的视频流

而html5的video格式现在还没定下来用什么,收费的MS的h.264还是GOOGLE、FireFox支持的免费格式。

#4


引用 3 楼 webipstin 的回复:
需要对于flash标签转为html5的video形式,这步涉及到视频格式的转换,怎么办?

不可通知让<video>标签直接去读flash的视频流

而html5的video格式现在还没定下来用什么,收费的MS的h.264还是GOOGLE、FireFox支持的免费格式。


这个视频转化我们这里有专门的转化  这个步骤先不用考虑  先说说html转到html5这步

#5


我的html5主要是要应用在iphone上 

#6


引用 4 楼 czbever 的回复:
引用 3 楼 webipstin 的回复:
需要对于flash标签转为html5的video形式,这步涉及到视频格式的转换,怎么办?

不可通知让<video>标签直接去读flash的视频流

而html5的video格式现在还没定下来用什么,收费的MS的h.264还是GOOGLE、FireFox支持的免费格式。


这个视频转化我们这里有专门的转化  这个步骤先不用考虑  先说说……


传说中你可以用正则表达式。。。。。。

这个就是字符串转换的问题,字符串转换 具体有什么问题具体问

如果html5 和 xhtml? 的转换关系不清楚 查w3c网站。。。。。

#7


引用 6 楼 liuxiaoyi666 的回复:
引用 4 楼 czbever 的回复:
引用 3 楼 webipstin 的回复:
需要对于flash标签转为html5的video形式,这步涉及到视频格式的转换,怎么办?

不可通知让<video>标签直接去读flash的视频流

而html5的video格式现在还没定下来用什么,收费的MS的h.264还是GOOGLE、FireFox支持的免费格式。


这个视频转化我们这里有……


没这么简单的  关键难点在于flash标签的转化啊  有时候会有js,这个不知道怎么转

#8


可以用IHTMLElement一系列的接口去解html,如果html的页面写的很标准,也可以用xml解析器去解html标签。

至于js,没想到什么好办法,可以用搜索js代码中的关键字去定义flash相关的数据源地址。

可能要对每一个不同站点各做一个解析方案。

LZ研究方向很超前,html5大势所趋。

#9


引用 7 楼 czbever 的回复:
引用 6 楼 liuxiaoyi666 的回复:
引用 4 楼 czbever 的回复:
引用 3 楼 webipstin 的回复:
需要对于flash标签转为html5的video形式,这步涉及到视频格式的转换,怎么办?

不可通知让<video>标签直接去读flash的视频流

而html5的video格式现在还没定下来用什么,收费的MS的h.264还是GOOGLE、FireFo……


如果你担心这个,也很简单,如果是批量自动化转换,可以使用webbrowser 得到分析好的html 然后

用dom得到当前的html转换

如果你对dom熟悉的话,js生成也无非就是生成object标记(ie系列,非ie用embed)这样的话用

getElementsByTagName在webbrowser中,就能得到你需要的

另外就不知道你要获取的js写成啥样了,要是标准的话,一样用正则就是了.....

#10


我所说的js的情况都写在上面了啊  为什么你们都不先看看啊 都没说到关键点 我当然知道是用正则实现啦

#11


2种情况都一样,一行正则就搞定了。但写这个正则…
需要一袋烟的功夫,累。

#12


该回复于2011-01-27 08:55:15被版主删除

#13


引用 7 楼 czbever 的回复:
引用 6 楼 liuxiaoyi666 的回复:
引用 4 楼 czbever 的回复:
引用 3 楼 webipstin 的回复:
需要对于flash标签转为html5的video形式,这步涉及到视频格式的转换,怎么办?

不可通知让<video>标签直接去读flash的视频流

而html5的video格式现在还没定下来用什么,收费的MS的h.264还是GOOGLE、FireFo……


你不看我写的webbrowser方案

#14


获取dom接口写程序分析和替换咯

#15


有没有demo程序啊  提供一个 参考下

#16


引用 15 楼 czbever 的回复:
有没有demo程序啊  提供一个 参考下


有demo,都是c#版---当然vc也可以实现同样的效果,原理都是一样的

你需要么??

#17


可以啊  发我邮箱 czbever@yahoo.com.cn

#18


引用 11 楼 abrianna 的回复:
2种情况都一样,一行正则就搞定了。但写这个正则…
需要一袋烟的功夫,累。


这个正则怎么写?

#19


引用 16 楼 liuxiaoyi666 的回复:
引用 15 楼 czbever 的回复:

有没有demo程序啊 提供一个 参考下


有demo,都是c#版---当然vc也可以实现同样的效果,原理都是一样的

你需要么??


demo在哪啊 

#20


引用 19 楼 czbever 的回复:
引用 16 楼 liuxiaoyi666 的回复:
引用 15 楼 czbever 的回复:

有没有demo程序啊 提供一个 参考下


有demo,都是c#版---当然vc也可以实现同样的效果,原理都是一样的

你需要么??


demo在哪啊

发了

#21


该回复于2011-01-17 10:36:01被版主删除

#22


引用 20 楼 liuxiaoyi666 的回复:
引用 19 楼 czbever 的回复:
引用 16 楼 liuxiaoyi666 的回复:
引用 15 楼 czbever 的回复:

有没有demo程序啊 提供一个 参考下


有demo,都是c#版---当然vc也可以实现同样的效果,原理都是一样的

你需要么??


demo在哪啊

发了


能发我一下看看么leafsnower@163.com,谢谢

#1


体力活…

#2


引用 1 楼 abrianna 的回复:
体力活…


什么意思? 我是说用程序转换

#3


需要对于flash标签转为html5的video形式,这步涉及到视频格式的转换,怎么办?

不可通知让<video>标签直接去读flash的视频流

而html5的video格式现在还没定下来用什么,收费的MS的h.264还是GOOGLE、FireFox支持的免费格式。

#4


引用 3 楼 webipstin 的回复:
需要对于flash标签转为html5的video形式,这步涉及到视频格式的转换,怎么办?

不可通知让<video>标签直接去读flash的视频流

而html5的video格式现在还没定下来用什么,收费的MS的h.264还是GOOGLE、FireFox支持的免费格式。


这个视频转化我们这里有专门的转化  这个步骤先不用考虑  先说说html转到html5这步

#5


我的html5主要是要应用在iphone上 

#6


引用 4 楼 czbever 的回复:
引用 3 楼 webipstin 的回复:
需要对于flash标签转为html5的video形式,这步涉及到视频格式的转换,怎么办?

不可通知让<video>标签直接去读flash的视频流

而html5的video格式现在还没定下来用什么,收费的MS的h.264还是GOOGLE、FireFox支持的免费格式。


这个视频转化我们这里有专门的转化  这个步骤先不用考虑  先说说……


传说中你可以用正则表达式。。。。。。

这个就是字符串转换的问题,字符串转换 具体有什么问题具体问

如果html5 和 xhtml? 的转换关系不清楚 查w3c网站。。。。。

#7


引用 6 楼 liuxiaoyi666 的回复:
引用 4 楼 czbever 的回复:
引用 3 楼 webipstin 的回复:
需要对于flash标签转为html5的video形式,这步涉及到视频格式的转换,怎么办?

不可通知让<video>标签直接去读flash的视频流

而html5的video格式现在还没定下来用什么,收费的MS的h.264还是GOOGLE、FireFox支持的免费格式。


这个视频转化我们这里有……


没这么简单的  关键难点在于flash标签的转化啊  有时候会有js,这个不知道怎么转

#8


可以用IHTMLElement一系列的接口去解html,如果html的页面写的很标准,也可以用xml解析器去解html标签。

至于js,没想到什么好办法,可以用搜索js代码中的关键字去定义flash相关的数据源地址。

可能要对每一个不同站点各做一个解析方案。

LZ研究方向很超前,html5大势所趋。

#9


引用 7 楼 czbever 的回复:
引用 6 楼 liuxiaoyi666 的回复:
引用 4 楼 czbever 的回复:
引用 3 楼 webipstin 的回复:
需要对于flash标签转为html5的video形式,这步涉及到视频格式的转换,怎么办?

不可通知让<video>标签直接去读flash的视频流

而html5的video格式现在还没定下来用什么,收费的MS的h.264还是GOOGLE、FireFo……


如果你担心这个,也很简单,如果是批量自动化转换,可以使用webbrowser 得到分析好的html 然后

用dom得到当前的html转换

如果你对dom熟悉的话,js生成也无非就是生成object标记(ie系列,非ie用embed)这样的话用

getElementsByTagName在webbrowser中,就能得到你需要的

另外就不知道你要获取的js写成啥样了,要是标准的话,一样用正则就是了.....

#10


我所说的js的情况都写在上面了啊  为什么你们都不先看看啊 都没说到关键点 我当然知道是用正则实现啦

#11


2种情况都一样,一行正则就搞定了。但写这个正则…
需要一袋烟的功夫,累。

#12


该回复于2011-01-27 08:55:15被版主删除

#13


引用 7 楼 czbever 的回复:
引用 6 楼 liuxiaoyi666 的回复:
引用 4 楼 czbever 的回复:
引用 3 楼 webipstin 的回复:
需要对于flash标签转为html5的video形式,这步涉及到视频格式的转换,怎么办?

不可通知让<video>标签直接去读flash的视频流

而html5的video格式现在还没定下来用什么,收费的MS的h.264还是GOOGLE、FireFo……


你不看我写的webbrowser方案

#14


获取dom接口写程序分析和替换咯

#15


有没有demo程序啊  提供一个 参考下

#16


引用 15 楼 czbever 的回复:
有没有demo程序啊  提供一个 参考下


有demo,都是c#版---当然vc也可以实现同样的效果,原理都是一样的

你需要么??

#17


可以啊  发我邮箱 czbever@yahoo.com.cn

#18


引用 11 楼 abrianna 的回复:
2种情况都一样,一行正则就搞定了。但写这个正则…
需要一袋烟的功夫,累。


这个正则怎么写?

#19


引用 16 楼 liuxiaoyi666 的回复:
引用 15 楼 czbever 的回复:

有没有demo程序啊 提供一个 参考下


有demo,都是c#版---当然vc也可以实现同样的效果,原理都是一样的

你需要么??


demo在哪啊 

#20


引用 19 楼 czbever 的回复:
引用 16 楼 liuxiaoyi666 的回复:
引用 15 楼 czbever 的回复:

有没有demo程序啊 提供一个 参考下


有demo,都是c#版---当然vc也可以实现同样的效果,原理都是一样的

你需要么??


demo在哪啊

发了

#21


该回复于2011-01-17 10:36:01被版主删除

#22


引用 20 楼 liuxiaoyi666 的回复:
引用 19 楼 czbever 的回复:
引用 16 楼 liuxiaoyi666 的回复:
引用 15 楼 czbever 的回复:

有没有demo程序啊 提供一个 参考下


有demo,都是c#版---当然vc也可以实现同样的效果,原理都是一样的

你需要么??


demo在哪啊

发了


能发我一下看看么leafsnower@163.com,谢谢