猫头猪
狐狸大王
狐狸大王
  • UID163
  • 注册日期2004-11-25
  • 最后登录2005-12-04
  • 发帖数595
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:46471回复:60

关于Firefox不能使用ctrl+enter在某些论坛发贴的原因

楼主#
更多 发布于:2005-04-08 16:48
看到很多人抱怨Firefox不能使用ctrl+enter发贴,开始还以为这是一个IE为textarea增加的快捷键,做了几个test case试了以后才知道这并不是IE的功能.
很多报这个问题的人使用的是Dvbbs,找到Dvbbs的代码一看才知道这是Dvbbs自己实现的一个功能.在实现这个功能的时候,对IE和非IE浏览器做了不同的处理.看代码:
if (Dvbbs_bIsIE5){
		var Dvbbs_bodyTag="<style type=text/css>.quote{margin:5px 20px;border:1px solid #CCCCCC;padding:5px; background:#F3F3F3 }\nbody{boder:0px}.HtmlCode{margin:5px 20px;border:1px solid #CCCCCC;padding:5px;background:#FDFDDF;font-size:14px;font-family:Tahoma;font-style : oblique;line-height : normal ;font-weight:bold;}\nbody{boder:0px}</style></head><BODY bgcolor=\"#FFFFFF\" title=\"Ctrl+Enter直接提交贴子\" onkeydown=\"ctlent();\">";
	}else
	{
		var Dvbbs_bodyTag="<style type=text/css>.quote{margin:5px 20px;border:1px solid #CCCCCC;padding:5px; background:#F3F3F3 }\nbody{boder:0px}.HtmlCode{margin:5px 20px;border:1px solid #CCCCCC;padding:5px;background:#FDFDDF;font-size:14px;font-family:Tahoma;font-style : oblique;line-height : normal ;font-weight:bold;}\nbody{boder:0px}</style></head><BODY bgcolor=\"#FFFFFF\">";
	}

在为IE实现的代码部分多了一个事件处理
onkeydown=\"ctlent();\"

而为非IE浏览器就没有.
再看这个事件处理调用的函数:
function ctlent(){
	var ispost=0;
	if (document.all)
	{
		if(event.ctrlKey && event.keyCode==13)
		{
		Dvbbs_CopyData('Body')
		Checkdata()
		if (ischeck==true){this.document.Dvform.submit();}
		}
	}
}

就是处理ctrl+enter提交表单的.
好了,结论就有了.这并不是一个兼容性的问题,因为论坛根本就没有为非IE浏览器实现这个功能.
nobbs
火狐狸
火狐狸
  • UID29595
  • 注册日期2009-07-11
  • 最后登录2015-07-24
  • 发帖数185
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
1楼#
发布于:2005-04-08 16:48
嗯收藏了哦,
有問題先搜索,搜索不到再問。 人若有志應該不怕遲!
独孤木人
小狐狸
小狐狸
  • UID16864
  • 注册日期2007-01-28
  • 最后登录2007-03-12
  • 发帖数8
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2005-04-08 16:48
最喜欢PHPWIND
河豚
小狐狸
小狐狸
  • UID16788
  • 注册日期2007-01-24
  • 最后登录2007-01-25
  • 发帖数6
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2005-04-08 16:48
我也用kis  也有这种情况  

难道真的是 kis 的原因?
magicd
小狐狸
小狐狸
  • UID16731
  • 注册日期2007-01-19
  • 最后登录2007-01-21
  • 发帖数1
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
4楼#
发布于:2005-04-08 16:48
我已经实现在Firefox下面用Ctrl+Enter提交表单~
ancintosh
狐狸大王
狐狸大王
  • UID11069
  • 注册日期2006-01-11
  • 最后登录2011-08-14
  • 发帖数423
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2005-04-08 16:48
要不要把那串代码往动网官方砸,再骂他几句

最后逼迫他发补丁
hnstxx
千年狐狸
千年狐狸
  • UID1952
  • 注册日期2005-01-09
  • 最后登录2013-05-14
  • 发帖数4977
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
6楼#
发布于:2005-04-08 16:48
swapoer:ms不行。。。。。tab+空格倒是可以。。。
alt+S与ff的history有冲突。。。。。
回到原帖


搜索坛子,好像是KMC的帖子,里面有介绍怎么解决冲突。
MM:你是个外表冷酷,内心却很甜蜜的男人。
swapoer
小狐狸
小狐狸
  • UID15313
  • 注册日期2006-10-29
  • 最后登录2006-11-18
  • 发帖数29
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2005-04-08 16:48
gulag:我来试试看Alt+S的功力^_^回到原帖
ms不行。。。。。tab+空格倒是可以。。。
alt+S与ff的history有冲突。。。。。
swapoer
小狐狸
小狐狸
  • UID15313
  • 注册日期2006-10-29
  • 最后登录2006-11-18
  • 发帖数29
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2005-04-08 16:48
gulag:我来试试看Alt+S的功力^_^回到原帖
偶也要试试的说
gulag
小狐狸
小狐狸
  • UID15042
  • 注册日期2006-10-19
  • 最后登录2006-12-03
  • 发帖数20
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
9楼#
发布于:2005-04-08 16:48
我来试试看Alt+S的功力^_^
rise.worlds
小狐狸
小狐狸
  • UID13125
  • 注册日期2006-06-05
  • 最后登录2006-10-23
  • 发帖数1
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
10楼#
发布于:2005-04-08 16:48
谢谢了,我在动网上发了几个帖子也没人回答,原来是这回事,自己写一个算了.
xtjxj
  • UID267
  • 注册日期
  • 最后登录
  • 发帖数
  • 经验
  • 威望
  • 贡献值
  • 好评度
11楼#
发布于:2005-04-08 16:48
我来试试
sunwan
火狐狸
火狐狸
  • UID9953
  • 注册日期2005-11-20
  • 最后登录2009-07-27
  • 发帖数105
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
12楼#
发布于:2005-04-08 16:48
firefox_userA:呵呵,大家完全不用为这个问题费心。事实上我们有更好的解决办法:GreaseMonkey+CtrlEnter.user.js
http://clear.com.ua/misc/ctrl_enter_submits.user.js

Allows submitting of forms with Ctrl+Enter. Replaces quotes with pairs, (c) with sign, etc, understands wiki formatting.

这样在所有表单中输入时,都可以Ctrl+Enter提交了。
回到原帖

呵呵~~我本来还准备写一个userscript,应该比较简单的,现在也不用写了.
rambler
小狐狸
小狐狸
  • UID10440
  • 注册日期2005-12-08
  • 最后登录2014-05-01
  • 发帖数31
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
13楼#
发布于:2005-04-08 16:48
动网实在是太滥了,但还不得不去那个DVBBS的论坛,这是俺用FF的痛苦啊~!!
firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
14楼#
发布于:2005-04-08 16:48
呵呵,大家完全不用为这个问题费心。事实上我们有更好的解决办法:GreaseMonkey+CtrlEnter.user.js
http://clear.com.ua/misc/ctrl_enter_submits.user.js

Allows submitting of forms with Ctrl+Enter. Replaces quotes with pairs, (c) with sign, etc, understands wiki formatting.

这样在所有表单中输入时,都可以Ctrl+Enter提交了。
上一页
游客

返回顶部