我有这个旧的“封闭”系统,它在自己的容器中运行IE,这意味着在很多情况下我必须像一个穴居人一样编码因为我不能使用任何浏览器开发工具/控制台来对象进行X射线扫描从远程系统返回。
现在,我正在看的具体功能是来自第三方的回调(它变得复杂),它返回我愿意打赌的标准JSON对象。
function core_OnUeDeltaItemsUpdate(dataType, oData)
{
if (dataType == "Units")
{
// Bail if dispatch report xml hasn't been loaded yet.
if (oXml == null)
return;
..... does lots of stuff
// Reload the content in case any of our displayed units changed
processUeDelta.click();
}
}
... at the bottom of the page
<button style="display:none;" type="button" id="processUeDelta"/>
和我希望使用jQuery的附加javascript文件
$(function(){
$("#processUeDelta").click(function(){
var i = 0;
alert(this.ueDelta);
for(var propertyName in this.ueDelta)
{
i++;
alert("property " + i + ": " + oData[propertyName]);
}
});
});
现在,当前最后一个将自身绑定到隐藏按钮的函数无法解析oData。我在这里坚持两件事。
注意事项:
答案 0 :(得分:1)
您可以将core_OnUeDeltaItemsUpdate
函数替换为您自己的函数,然后调用原始的core_OnUeDeltaItemsUpdate
函数。在你的jQuery文件中做这样的事情
$(document).ready(function(){
window._core_OnUeDeltaItemsUpdate = core_OnUeDeltaItemsUpdate;
window.core_OnUeDeltaItemsUpdate = function(dataType, oData){
// pass the parameters into the original function
_core_OnUeDeltaItemsUpdate(dataType, oData);
// do whatever you need to do with oData
var i = 0;
alert(this.ueDelta);
for(var propertyName in this.ueDelta)
{
i++;
alert("property " + i + ": " + oData[propertyName]);
}
}
});