最近在项目中发现用js来增强HTML 元素的显示效果,当数据很大的时候会Block导致浏览器。 尝试用TimedArray来解决发现,浏览器渲染元素的延时 非常大,很难应用。
突然想到可以用Flex的DataGrid来显示数据,因为在HTML中Flash对象仅最为一个对象不会导致原有HTML 中JS 代码的处理死掉。于是在网上搜索Flex/js的互调代码。首先在HTML 中加入Object元素来load swf 文件,如下:
<Object width="100%" height="100%" id="proj_list_flex_ie" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0">
<param name="movie" value="person.swf"/>
<param name="allowscriptaccess" value="always"/>
<embed id="proj_list_flex_ff" width="100%" height="100%" src="person.swf" quality="autohigh" wmode="opaque" type="application/x-shockwave-flash" plugspace="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
</embed>
</Object>
代码中Object 和embed的ID 设置为不同的值,因为从CSDN一篇博文中看到似乎IE取的是Object,而Firefox认的是Embed元素,因此有如下的代码来获取flash对象:
targetMovie = function(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName + '_ie'];
}
else {
return document[movieName + '_ff'];
}
}
例如在flex application的creationComplete事件处理函数中注册了一个方法:
ExternalInterface.addCallback("buildList”,buildList);
那么就可以用
targetMovie('proj_list_flex').buildList();
来调用flex中的方法了。
在Flex中可以通过
ExternalInterface.call('js function name',param0,..);
来调用javascript函数。 这里不需要对javascript函数进行注册等处理。
Reference:
Timed array:
http://www.nczonline.net/blog/2009/08/11/timed-array-processing-in-javascript/
分享到:
相关推荐
cocos2d-x 通过JNI实现c/c++和Android的java层函数互调, 本文主要实现两个功能: (1)通过Android... 首先来简单学习一下JNI的相关知识,我这篇文章中简单实现了怎么在Android Java层调用c++函数。要想使用JNI,必须得…
cocos2d-x 通过JNI实现c/c++和Android的java层函数互调-源码 详情请移步到:http://codingnow.cn/program/992.html
NULL 博文链接:https://yangactive.iteye.com/blog/1561610
主要实现: java后台隔空调用JS函数和JS直接引用java后台方法
Python 与 PHP 互调用库,可以在 PHP 中使用 Python 语言的函数和类库,或者在 Python 中使用 PHP 的包。 但不是语言内嵌。编码依然使用各自的原生语法。目前仅支持 Linux 平台(理论上可以支持所有操作系统,待实现...
这个就是我写的那个 Delphi与Flash之间互调函数 中用到的类 在我这里是可以用的 有一些小的问题 但是编码都没有问题
aspx页面中js调用aspx.cs的方法直接与后台进行交互,aspx.cs调用aspx页面中的js方法与前端进行交互,需要注意的是,js要写在页头里面,不然调用的时候会报错
在VS2013中使用JNI进行JAVA和C++之间的互调,这两个文件只是项目中的一部分,仅供参考
android js 互调
java和js互调
无线电信号互调计算工具,支持三阶互调、五阶互调计算,并将互调计算结果导出到excel 目前支持如下公式: 1、三阶:2F1-F2 2、三阶:F1+F2-F3 3、五阶:3F1-2F2 4、五阶:2F1+F2-2F3 5、五阶:2F1+F2-F3-F4 C#开发,无需...
android与JS互调,android与JS互调,android与JS互调
罗森博格互调分析仪操作手册
三阶互调是指当两个信号在一个线性系统中,由于非线性因素存在使一个信号的二次谐波与另一个信 号的基波产生差拍(混频)后所产生的寄生信号。比如F1的二次谐波是2F1,他与F2产生了寄生信 号2F1-F2。由于一个信号是...
实现java与flex像本地代码一样调用,当前版本为beta测试版, 在使用中,希望您提出宝贵的意见,我们将cmt做得更完善和完美, 通过QQ群:90636900可以 联系到作者
无源互调测量及解决方案,无源器件互调失真的分析和测量
C 可以调用文件外的php函数 不行 只能通过ajax调用php函数 而php函数实现xml格式的返回 D 在网页上的数据显示通过 document write PHP: A php可以调用同文件内的php函数 B php可以调用同文件内的JS函数 C ...
非线性失真测量受激励信号的频谱成分影响非常大。...本文介绍了在各种互调失真测试中如何正确配置各种测试参数以得到最准确的测试结果,还分析了量化噪声、采样频率和激励信号的合成频率对测试准确度的影响。
webview和js互调
无源互调的一些资料,关于什么是无源互调,怎样测试无源互调的方法