function getEdiInfo(buttonObj,divId,containerCode){
var strResult;
strResult = "app040";
window.navigate(strResult);
$("#"+divId).html("<h3>正在获取H2000信息......</h3>");
loadEdiXML();
}
1,MFC里实现类:class CIPSHtmlView : public CHtmlView
2,重写虚函数:
virtual void OnBeforeNavigate2(LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName, CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel);
3,
void CIPSHtmlView::OnBeforeNavigate2(LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName, CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel)
{
m_strUrl = lpszURL;
if(m_strUrl.Right(6) == L"app040")
{
//想做的操作
}
function loadEdiXML(){//kang add 读本地edi.xml文件,并显示
//1,判断本地是否存在picno_EDI.xml文件,若存在按钮变灰不可用并显示信息
var ipsXMLStr = document.getElementById("ipsXML").value.trim();
var ipsXMLDom = getXmlFromStr(ipsXMLStr);
var buttonObj = $("input[name='getEdiButton']");//
buttonObj.attr("disabled",true);//设置按钮不可见
if(ipsXMLDom === false){
//buttonObj.disabled = false;
buttonObj.removeAttr("disabled");
return;
}
var xmlDoc;
var EdiXMLPath = ipsXMLDom.selectSingleNode("/IDR/@EdiXMLPath").text;//获得edi.xml文件的路径
try //Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
catch(e)
{
try //Firefox, Mozilla, Opera, etc.
{
xmlDoc=document.implementation.createDocument("","",null);
}
catch(e) {
//buttonObj.disabled = false;
buttonObj.removeAttr("disabled");
}
}
if(xmlDoc != null){
//同步方式加载XML数据
xmlDoc.async = false;
//根据XML文档名称装载
xmlDoc.load(EdiXMLPath);
var divId = $("div.ediDiv")[0].id;//选择器
//buttonObj.disabled = true;
displayMain(xmlDoc,divId,buttonObj,false);//显示信息
}else{
//2,若不存在,则按钮可用,用户可点击获得edi
//buttonObj.disabled = false; // 这种方式失效
buttonObj.removeAttr("disabled");//用这种方式
$("#" + divId).html("<h3>无相关报关单、舱单信息!</h3>");
return;
}
}