javascript 代码火狐浏览器上获取不到event
问题描述:
有个html文件是activex获取设备信息 ie上正常 火狐浏览器上获取不到信息,安装了火狐浏览器的支持activex版本esr52 ,文件里的其他代码能正常控制设备,就这一段代码火狐上不管用。
原来是这样的一个代码
<script for="SwingNetX" event="NotifyInventory(data)" language="javascript">
function SwingNetX::NotifyInventory(data) {
if(data.indexOf('M') != -1 ) {
var datas = data.split('M');
add_tag(datas[0]);
document.getElementById('mem_read').value = datas[1];
console.log(data);
} else {
add_tag(data);
console.log(data);
}
}
</script>
我改成了这样 也是 ie上正常 火狐不管用
<script>
var handler = document.createElement("script");
handler.setAttribute("for", "SwingNetX");
handler.event = "NotifyInventory(data)";
handler.appendChild(document.createTextNode("NotifyInventory(data);"));
document.body.appendChild(handler);
function NotifyInventory(data){
if(data.indexOf('M') != -1 ) {
var datas = data.split('M');
add_tag(datas[0]);
document.getElementById('mem_read').innerText = datas[1];
} else {
console.log(data);
add_tag(data);
}
}
</script>
还改成了这样也是ie上正常 火狐上不管用
<script>
function onNotifyInventory(data){
if(data.indexOf('M') != -1 ) {
var datas = data.split('M');
add_tag(datas[0]);
document.getElementById('mem_read').innerText = datas[1];
} else {
add_tag(data);
}
}
var elem = document.getElementById("SwingNetX");
elem.addEventListener("NotifyInventory",onNotifyInventory,true);
elem.addEventListener("NotifyInventory",onNotifyInventory,false);
</script>
这是avtivex
<OBJECT
id="SwingNetX"
name="SwingNetX"
TYPE="application/x-itst-activex"
codebase="SwingNetX.cab#version=1,0,4,0"
clsid="{B60BC6A0-DB2A-4180-8F7E-A51859204160}"
width=0
height=0
>
</OBJECT>
希望大师们帮帮我改成火狐上能用的
答
改成$event试试
答
event = event || window.event;