abc@home
千年狐狸
千年狐狸
  • UID6047
  • 注册日期2005-05-16
  • 最后登录2011-01-01
  • 发帖数1681
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
15楼#
发布于:2005-09-21 20:43
你反复强调已经提供了某某功能,用户需要做的仅仅是善加使用,他们之所以中招,仅仅是由于用户智力低下、缺乏训练;我说的是,你不能也无法要求用户正确使用你那一套东西,你那一套东西是反人性的。
...

我说的是一些功能和安全性是不能兼得,必须取舍。最这情况下提供用户选举是唯一解决办法。只要设计得好,便不会有太大安全问题。我没说过任何用户智力低、缺乏训练等等。

而你则坚持不应该给用户决定,干脆不提供哪些会影响安全性的功能。对吗?



WINXP SP2 MAXTHON (UNICODE) PROXOMITRON
mopz0506
狐狸大王
狐狸大王
  • UID811
  • 注册日期2004-12-13
  • 最后登录2006-07-13
  • 发帖数539
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
16楼#
发布于:2005-09-21 20:43

我说的是一些功能和安全性是不能兼得,必须取舍。最这情况下提供用户选举是唯一解决办法。只要设计得好,便不会有太大安全问题。我没说过任何用户智力低、缺乏训练等等。


可能我理解有误,但你举的例子



让我感觉 "其他人" 会这么说。

[quote="abc@home"]
而你则坚持不应该给用户决定,干脆不提供哪些会影响安全性的功能。对吗?[/quote]

是。

我的经验是,用户总是倾向于做出错误的选择,因为外在环境诱导(前面有人用的这个词很传神)用户这么做。

"是" 和 "否" 两种选择看似 50 vs. 50,但你做个调查,我保证用户点 "是" 的机会在 90% 以上。

用户无法理解那么复杂的东西,他只知道点 "是" 就能正常工作了。至于会导致的其它后果,他根本看不见。

好比安装软件,总是有一个 licenses 页面,要你点 "接受" 还是 "拒绝" -- 普通用户无论如何也无法理解里面的法律用语(我估计你 abc@home 也不行,呵呵),他能做的就是被动 "接受"。所以实际上根本没得选择,因为这跟问 你要死还是要活 类似。

目前的软件太复杂,必须有人帮用户决定,就象必须有律师帮我们处理法律事务。
Minisheep
小狐狸
小狐狸
  • UID2333
  • 注册日期2005-01-19
  • 最后登录2006-10-23
  • 发帖数80
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
17楼#
发布于:2005-09-21 20:43
/**************************************************
http://www.krikkit.net/howto_javascript_copy_clipboard.html
将字符串maintext复制到剪贴板
**************************************************/
function setClipboard(maintext) {
	if (window.clipboardData) {
		return (window.clipboardData.setData("Text", maintext));
	}
	else if (window.netscape) { 
		netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
		var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
		if (!clip) return;
		var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
		if (!trans) return;
		trans.addDataFlavor('text/unicode');
		var str = new Object();
		var len = new Object();
		var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
		var copytext=maintext;
		str.data=copytext;
		trans.setTransferData("text/unicode",str,copytext.length*2);
		var clipid=Components.interfaces.nsIClipboard;
		if (!clip) return false;
		clip.setData(trans,null,clipid.kGlobalClipboard);
		return true;
	}
	return false;
}
/**************************************************
http://www.codebase.nl/index.php/command/viewcode/id/174
返回剪贴板的内容
**************************************************/
function getClipboard() {
	if (window.clipboardData) {
		return(window.clipboardData.getData('Text'));
	}
	else if (window.netscape) { 
		netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
		var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
		if (!clip) return;
		var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
		if (!trans) return;
		trans.addDataFlavor('text/unicode');
		clip.getData(trans,clip.kGlobalClipboard);
		var str = new Object();
		var len = new Object();
		try {
			trans.getTransferData('text/unicode',str,len);
		}
		catch(error) {
			return null;
		}
		if (str) {
			if (Components.interfaces.nsISupportsWString) str=str.value.QueryInterface(Components.interfaces.nsISupportsWString);
			else if (Components.interfaces.nsISupportsString) str=str.value.QueryInterface(Components.interfaces.nsISupportsString);
			else str = null;
		}
		if (str) {
			return(str.data.substring(0,len.value / 2));
		}
	}
	return null;
}

至于如何获取textarea里选中的文字,参看
http://www.freewebs.com/yang1984/content.html
chpn
小狐狸
小狐狸
  • UID10459
  • 注册日期2005-12-09
  • 最后登录2005-12-09
  • 发帖数6
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
18楼#
发布于:2005-09-21 20:43
这样虽然可以复制了,但是也太复杂了嘛,
这样虽然可以复制了,但是也太复杂了嘛
magic8421
火狐狸
火狐狸
  • UID2816
  • 注册日期2005-02-05
  • 最后登录2007-03-19
  • 发帖数109
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
19楼#
发布于:2005-09-21 20:43
linux系统里是选择了文本就复制.. 在哪都行
linux有两个剪贴板,一个是选择就复制的,还一个是ctrl+c(也有可能是别的热键,取决程序了)
windows里也有实现这样功能的软件,名字忘了,也是开源的.
我觉得这样的功能不该由网页里的代码实现...要是用户不喜欢怎么板?用户不感觉自己受到强迫吗?喜欢这个功能,自己装上软件就行了何必这么麻烦.
你觉得这个功能好跨平台吗?每个浏览器都支持?
上一页 下一页
游客

返回顶部