我想COMPLETELY摆脱“脱机工作”消息框。如何在IE 8中摆脱“离线模式”的信息低头?
给予一定的情况下,会出现运行本地 web应用程序的机器上此消息框。 对网络的访问显然是不稳定的,所以瞬间缺乏不应该被阻塞:它只会延迟一些背景通知。网页只需要显示本地资源。该网址看起来像http://localhost:4444/*myApp*/...
机器运行在XP专业版,浏览器是IE8。
我曾尝试以下解决方案没有成功:
- 手工取消选中菜单选项文件/脱机工作是不够的。
- 通过调用此方法达到每200ms
[DllImport("wininet.dll")] private extern static bool InternetSetOption(int hInternet, int dwOption, ref INTERNET_CONNECTED_INFO lpBuffer, int dwBufferLength); [StructLayout(LayoutKind.Sequential)] struct INTERNET_CONNECTED_INFO { public int dwConnectedState; public int dwFlags; }; private static readonly int INTERNET_STATE_DISCONNECTED = 16; private static readonly int INTERNET_STATE_CONNECTED = 1; private static readonly int ISO_FORCE_DISCONNECTED = 1; private static readonly int INTERNET_OPTION_CONNECTED_STATE = 50; private static Timer aTimer; private bool offlineSelected = false; public void SetIEOfflineMode(bool offline) { INTERNET_CONNECTED_INFO ici = new INTERNET_CONNECTED_INFO(); if (offline) { ici.dwConnectedState = INTERNET_STATE_DISCONNECTED; ici.dwFlags = ISO_FORCE_DISCONNECTED; Debug.WriteLine("switching to offline mode"); } else { ici.dwConnectedState = INTERNET_STATE_CONNECTED; Debug.WriteLine("switching to online mode"); } InternetSetOption(0, INTERNET_OPTION_CONNECTED_STATE, ref ici, Marshal.SizeOf(ici)); }
设置注册表项
我试图以编程方式强制联机模式
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\WebCheck\LoadSens
和
LoadLCE
到
auto
,然后
no
然后
yes
最后一次尝试几乎奏效。 '离线工作'永远不会被检查,但有时(确实是非常随机)邪恶的消息框出现。问题是,尽管它永远不会被阻塞(工作模式切换到在线,因此页面可以正常工作),但会干扰最终用户。
一句话:尽管看起来有点奇怪,但我们不能歪曲体系结构(本地Web应用程序)。