让火狐等浏览器也能使用HTC(HTML component)的方法
来源:互联网 发布:电子驱蚊器软件 编辑:程序博客网 时间:2024/06/06 02:05
HTML组件(HTML conponent)是DTHML里的东西,相信现在大部分的web开发或者是网站都不使用DHTML了。它只能在IE下有直接的支持,它直接在样式表中用
来指示样式的行为使用的htc文件,IE支持behavior,但火狐不能支持。
如何让火狐等浏览器也支持htc呢,这里有个已实现的示例:
此方法来自http://dean.edwards.name/
它的示例http://dean.edwards.name/my/examples/moz-behaviors/
示例下载http://deanedwards.googlecode.com/svn/trunk/download/moz-behaviors.zip
下面以他的示例来解释下实现方法。
1. IE下是在样式表中用behavior,那么火狐下有它自己专用的css,那就是用-moz-binding,最终css就是这样的:
behavior: url(drag-box.htc);
/* 用于火狐的 behaviors */
-moz-binding: url(bindings.xml# drag-box.htc);
2. 发现css中有个bindings.xml文件全名,这个就是作者写的xml文件,其中主要是有两个地方是重要的,其他的可以不管它(除非你也需要)。
<binding id="behavior" extends="moz-behaviors.xml#behavior"/>
<!—类似这些都是用来标识需要用到的htc文件的 -->
<binding id="test.htc" extends="#behavior"/>
3. 对于moz-behaviors.xml文件是用来提供对behavior的支持的,它里面有段代码是进行“优化”后的,看起来是加密的,显示乱码。你下载的示例中有这个文件的源文件moz-behaviors-source.xml,它在运行中是不需要的,但这个文件才是火狐下使用htc最关键的地方,下面把源码贴出来供大家学习。
4. 在htc文件中也要注意一个地方,那就是要使用<![CDATA[ ]]>将javsscript代码括住,像下面这样。
//<![CDATA[
function beginDrag() {
if(true && true)
{
}
};
//]]>
</script>
如果不用它括住会出现很搞笑的事情,true&&true这样的javascript代码会有错,当然浏览器不会提示错误,firebug也无法调试(因为htc中的javascript并不是直接调用该文件执行的,而是由moz-behaviors.xml文件中的javascript翻译后执行的,执行是由与css样式关联的DOM对象的js对象原型prototype进行的),所以像&这样的特殊字符会影响到moz-behaviors.xml文件中的javascript的翻译过程,同时一旦“有错”,htc文件中的任何javascript代码都无法执行,因为整个翻译过程已经被打乱了,我是这样通俗理解的。
转自:http://www.cnblogs.com/pains/archive/2009/12/06/1617874.html
- 让火狐等浏览器也能使用HTC(HTML component)的方法
- HTC (HTML Component) 入门
- HTC是HTML Component的缩写
- HTML Component(HTC)
- HTML Component(HTC)
- HTML Component(HTC)
- HTML Component (HTC)
- HTML Component(HTC)
- HTML Component(HTC)
- HTML Component(HTC)
- HTML Component(HTC)
- ie浏览器不能能上网,但火狐等浏览器可以
- 火狐浏览器对于html()方法的支持性
- 火狐浏览器(fire bug)的使用:
- HTC (HTML Component) 入门 ---一个很好的例子(转)
- 让您网页的按钮也能使用热键
- 让您网页的按钮也能使用热键
- 让android 2.x 也能使用actionbar -- actionbarsherlock的使用(一)
- 天纵智能软件快速开发平台状态图查询分析插件
- 无法解析的外部符号 __imp__MessageBoxA
- Spring的helloworld的缺包错误
- Java 九大排序算法
- android中的动画有哪几类,它们的特点和区别是什么?
- 让火狐等浏览器也能使用HTC(HTML component)的方法
- HDU5806 NanoApe Loves Sequence Ⅱ BestCoder Round #86 two-pointer
- [洛谷luogu]P1108 低价购买
- GB28181国标2016版本协议文档(正式版)解读(四)
- 中文转换大小写工具包(ChineseCapitalNumber)
- 大嘴首发J2EE框架,Bigmouth-framework你值得拥有!
- juqery实现多标签页的切换
- ListView点击事件解析之OnItemSelected、OnItemOnClick
- java编程思想 bruce Eckel chapter6 访问权限控制