经常碰到 Firefox 因 Flash 插件崩溃,到卡饭翻了翻,发现是 Flash 沙箱的问题。原文附带了去沙箱保护的 Flash 插件,可惜版本有点旧,遂自己动手解决。
注意:办法一适用于 [ 安装版 ] 插件。
方法一:修改 mms.cfg
这个方法很简单,Windows 7 以上的系统以管理员身份运行记事本,我这里用的是 Notepad2。
根据系统的位数打开下面的路径:
x86:C:\windows\system32\macromed\flash
x64:C:\windows\syswow64\macromed\flash
找到这个 mms.cfg ,如上图。
在文件末尾加上一行设置:
ProtectedMode=0
顺带解释下每一行的设置,看得懂英文的朋友大概都明白,第一行是静默更新,第二行是自动更新,第三行是保护模式,0 就是编程里面的意义为假(关闭),1 为真(开启)。
方法二:直接修改 dll 文件
注意:该方法只适用于 32 位 的Flash,并且经过本人测试,对于 Flash 14 版本失效
原帖地址:http://www.firefox.net.cn/read-46503
修改 dll 文件,让插件运行时跳过沙箱部分,不启动沙箱。直接手动修改 dll 文件的方法我也不会,但是有大神制作了补丁可以对任一版本的 dll 文件进行修 改,使用方法非常简单。之所以推荐这种方法是因为这样 Firefox 的 plugin-container.exe 进程仍会保留,插件的崩溃就不会影响到浏览器。
下载地址(请右键另存为该图片后改扩展名为 RAR ):
再顺带提供一个解决 JS 加载导致浏览器无响应或者标签页无法关闭的方法:
在支持 ABP 语法的广告屏蔽软件(ADsafe、保护伞之类的)的自定义规则里填上这么几句(示例):
||bdimg.share.baidu.com/static/js/*
||kindleren.com/static/js/*
||bbs.l3.wuyou.com/static/js/*
||share.baidu.com/static/js/*
||bdimg.share.baidu.com/static/images/*
||api.share.baidu.com
语法如下参考:
- "!" 为行注释符,注释行以该符号起始作为一行注释语义,用于规则描述
- "*" 为字符通配符,能够匹配0长度或任意长度的字符串,该通配符不能与正则语法混用。
- "%" 为子域通配符,方便匹配主域名下的所有子域。
- "^" 为符号通配符,通配URL中的特殊符号,包括: ? = / : & #
- "~" 为排除标识符,通配符能过滤大多数广告,但同时存在误杀, 可以通过排除标识符修正误杀链接。
- "&" 为正则表达式标识符,您可以使用它精确控制拦截策略,出于性能考虑并不提倡多用正则规则。
- "|" 为终止标识符,匹配字符串开始或结束位置。
- "##" 为元素选择器标识符,后面跟需要隐藏元素的CSS样式例如 #ad_id .ad_class
- "@@" 为JQuery选择器标识符,后面跟需要隐藏元素的JQuery筛选语法
- "::" 为域选择器标识符,后面跟需要限定的域名列表,以英文逗号分割
- "$$" 为返回类型选择器标识符,后面跟需要返回的HTTP数据包类型
- ">>" 为文本替换选择器标识符,后面跟需要替换的文本数据,格式:>>模式字符串>>替换后的文本