WEB开发网
开发学院软件开发C语言 用C#代码修改FF和IE的Script状态 阅读

用C#代码修改FF和IE的Script状态

 2009-05-14 08:28:43 来源:WEB开发网   
核心提示: 以下是对IE中注册表的改变: /// <summary> /// Disable IE Scripts. /// </summary> public void DisableIEScripts() { RegistryKey regSubKey = null; re

以下是对IE中注册表的改变:

        /// <summary>
        /// Disable IE Scripts.
        /// </summary>
        public void DisableIEScripts()
        {
            RegistryKey regSubKey = null;
            regSubKey = Registry.CurrentUser.OpenSubKey(regPath, true);
            regSubKey.SetValue("1400", 0x3);
        }

起初我以为如此修改注册表的信息也会带来其他浏览器的改变,但是结果并不然。

FireFox

当我企图在FF里面寻找相关注册表修改的时候,并没有找到相关选项,于是换一种思路。最终在当前用户的firefox文件中,找到了一个叫做pref.js的文件。里面有也许有一行代码,user_pref("javascript.enabled", false); 。这就代表了javascript被禁止了。如果为true或者没有的话,那么都代表了允许状态。而该文件的文件夹9acap8nw.default如此带有default字样的,也是随着不同的机器安装不同的客户端所不同的。而它的前面的目录大概的C:Documents and Settings。。。Application DataMozillaFirefoxProfiles 如此。不过会有这样的文件夹也只是在windows server2003 和XP中有如此的目录,具体问题还是需要具体分析的。

        /// <summary>
        /// Delete one line which contains the "javaScript.enabled.
        /// </summary>
        /// <param name="filePath">the path of js file.</param>
        public static void DisableFFJaveScript(string filePath)
        {
            StringBuilder sb = new StringBuilder();
            using (FileStream aStream = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite))
            {
                StreamReader aReader = new StreamReader(aStream, Encoding.UTF8);
                StreamWriter aWriter = new StreamWriter(aStream, Encoding.UTF8);
                aReader.BaseStream.Seek(0, SeekOrigin.Begin);
                string streamLine = aReader.ReadLine();
                bool isJSDisabled = false;
                bool isJSFalse = false;
                while (streamLine != null)
                {
                    if (streamLine.Contains("javascript.enable") && streamLine.Contains("false"))
                    {
                        isJSFalse = true;
                    }
                    if (streamLine.Contains("javascript.enable") && streamLine.Contains("true"))
                    {
                        streamLine = streamLine.Replace("true", "false");
                        isJSDisabled = true;
                    }

                    sb.Append(streamLine + "rn");
                    streamLine = aReader.ReadLine();
                }

                if (!isJSDisabled && !isJSFalse)
                    sb.Append("user_pref(" + ""javascript.enabled"" + "," + " false);");
                aReader.Close();
            }

            File.Delete(filePath);
            AddToFile(filePath, sb.ToString());
        }

Tags:代码 修改 FF

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接