• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > CHTMLVIEW报脚本错误,希望屏蔽,不显示任何东西,如何处理?

CHTMLVIEW报脚本错误,希望屏蔽,不显示任何东西,如何处理?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了chtmlview,mfc chtmlview,chtmlview类,ie浏览器报脚本错误,开机报脚本错误等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: CHTMLVIEW报脚本错误,希望屏蔽,不显示任何东西,如何处理?
描述:

	CComPtr<IDispatch>   spDisp   =   GetHtmlDocument(); 
if(spDisp!=NULL)  
{ 
CComPtr<IHTMLDocument2> doc;
spDisp->QueryInterface(IID_IHTMLDocument2, reinterpret_cast<void**>(&doc));
if(doc != NULL)
{   
IHTMLWindow2 * pIhtmlwindow2 = NULL;
doc->get_parentWindow(&pIhtmlwindow2);
if(pIhtmlwindow2 != NULL)
{//
//屏蔽javascript脚本错误的javascript脚本
CString strJavaScriptCode = "function fnOnError(msg,url,lineno){alert('script error:\\n\\nURL:'+url+'\\n\\nMSG:'+msg +'\\n\\nLine:'+lineno);return true;}window.//当有错误的时候显示这个对话框,我改为CString strJavaScriptCode = "function fnOnError(msg,url,lineno){}window. /> BSTR bstrScript = strJavaScriptCode.AllocSysString();
CString strLanguage("JavaScript");
BSTR bstrLanguage = strLanguage.AllocSysString();
long lTime = 1 * 1000;
long lTimeID = 0;
VARIANT varLanguage;
varLanguage.vt = VT_BSTR;
varLanguage.bstrVal = bstrLanguage;
VARIANT pRet;
//把window.onerror函数插入入当前页面中去
pIhtmlwindow2->execScript(bstrScript, bstrLanguage, &pRet);
::SysFreeString(bstrScript);
::SysFreeString(bstrLanguage);
pIhtmlwindow2->Release();
}
}
}

这是我从网上找的代码..
如果无法在CHTMLVIEW中把错误处理掉,是否可以设置IE的安全选项处理这些问题喃?
求解,谢谢!


解决方案1:


//修改注册表,不让ie弹出 js 的脚本错误
void ChangeIERegedit()
{        
TCHAR szExeFileName[MAX_URLSTRING];
_tcscpy(szExeFileName,  _T("yes"));
HKEY hKEY;
DWORD disp/* = REG_OPENED_EXISTING_KEY*/;//
LONG lResult = ::RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Internet Explorer\\Main"),\
0, NULL, REG_OPTION_NON_VOLATILE, KEY_READ | KEY_WRITE, NULL, &hKEY, &disp);
if(lResult == ERROR_SUCCESS)
{
::RegSetValueEx(hKEY, _T("Disable Script Debugger"), 0,REG_SZ, (CONST BYTE*)szExeFileName,
#ifdef _UNICODE
lstrlenW(szExeFileName)*2+2
#else
lstrlenA(szExeFileName)+1
#endif
);
::RegFlushKey(hKEY);
::RegCloseKey(hKEY);
}
LONG lResultIE = ::RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Internet Explorer\\Main"),\
0, NULL, REG_OPTION_NON_VOLATILE, KEY_READ | KEY_WRITE, NULL, &hKEY, &disp);
if(lResultIE == ERROR_SUCCESS)
{
::RegSetValueEx(hKEY, _T("DisableScriptDebuggerIE"), 0,REG_SZ, (CONST BYTE*)szExeFileName,
#ifdef _UNICODE
lstrlenW(szExeFileName)*2+2
#else
lstrlenA(szExeFileName)+1
#endif
);
::RegFlushKey(hKEY);
::RegCloseKey(hKEY);
}
if((lResult != ERROR_SUCCESS) || (lResultIE != ERROR_SUCCESS))
{
CString strText, strCaption;
strText.LoadString(IDS_STR_REGIT);
strCaption.LoadString(IDS_STR_HINT);
MsgTaskbarNotifier(0, strText);
}
}

除了上面代码创建 ie 的时候要加一句,楼主漏掉的可能是这一行代码。 
// IWebBrowser2* GetWebInterface () {...}
DispEventAdvise(m_wndIE.GetWebInterface());

解决方案2:

先接分
怎么搞定的?

解决方案3:

jf~

解决方案4:

最欣赏能自己解决错误的达人了,解龄还需系铃人


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 请教CHtmlView派生控件的内存释放问题
  • CHtmlView中如何过滤部分HTML代码
  • VC中使用CHtmlView和IE的冲突问题
  • 哪位大哥给说明下CHtmlView::OnDocumentComplete()这个函数会在什么时候被触发执行?在线等着给分!
  • CHtmlView,如何解决IE的提示框问题?
  • 请教CHtmlView键盘输入的问题
  • chtmlview导航后提示未登录
  • CHtmlView枚举指定的超链接
  • 关于DLL中使用CHtmlView
  • chtmlview可以判断网站是否需要认证吗?

相关文章

  • 2017-06-05 急!!!!!请问用vc做项目模块的具体实现????
  • 2017-06-05 如何删除硬盘上的一个录像文件?
  • 2017-06-05 请教一个关于浏览器插件的问题(急)
  • 2017-06-04 VC如何调用网页中的windowexternal函数
  • 2017-06-04 还是mschart的问题
  • 2017-06-04 能不能在对话框中嵌入Excel表格?如果可以,该怎么实现?
  • 2017-06-05 关于TeeChart画三维图中如何添加Z轴
  • 2017-06-04 谁知道TAPI30的下载地址?为什么MSDN上TAPI30的例子好多代码编译不了?
  • 2017-06-04 MFC的程序,如何支持ATL?
  • 2017-06-05 请教大家纯资源DLL的编写,及调用方法?项冽

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 开发OCX的问题;
    • 怎样将代表图片的文件名LPCTSTR转化为ActiveX使用的CPictureHolder?
    • 如何将activexcontrol中的类导出?请进!up有分!
    • 学习OLEDB前需要研究COM吗?
    • 多线程对可以对同一个全局Recordset对象进行查询操作吗?
    • 类的一个方法可以做为AfxCreateThread函数的第一个参数吗?
    • COM如何实现单例??
    • DLL函数怎样返回CStringArray型?
    • 用WIN32Dynamic-LinkLibrary建了一个工程,为什么在里面不能用CTime类,请高手指教!!!!
    • COM组件调用组件的问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有