相关疑难解决方法(0)

如何禁用文本选择突出显示?

对于像按钮一样的锚点(例如,Stack Overflow页面顶部的问题,标签,用户等)或标签,如果用户意外选择了文本,是否有一种CSS标准方法来禁用突出显示效果?

我意识到这可以通过JavaScript来完成,并且有点谷歌搜索产生了仅Mozilla -moz-user-select选项.

是否有符合标准的方法来实现CSS,如果没有,那么"最佳实践"方法是什么?

css cross-browser highlight textselection

4937
推荐指数
43
解决办法
179万
查看次数

如何防止浏览器存储密码

我需要阻止浏览器存储用户名和密码值,因为我正在处理包含更多安全数据的Web应用程序.我的客户要我这样做.

autocomplete="off"在HTML表单和密码字段中尝试了该属性.但它不适用于Chrome 55,Firefox 38 +,IE 11等最新浏览器.

什么是最好的解决方案?

html browser security gxt

47
推荐指数
6
解决办法
6万
查看次数

屏蔽输入字符而不输入type = password

所以我对新版浏览器保存密码有疑问.说我有一个像这样的密码框:

<input type="password" autocomplete="off" />
Run Code Online (Sandbox Code Playgroud)

iOS 7.1中的IE11和Safari等新浏览器已开始忽略密码框中的autocomplete ="off",并提供用户保存密码.在我的公司(银行),我们认为这是一个安全问题.

我想知道是否还有人解决了这个问题.也许有人编写了一个javascript插件来掩盖正常的输入[type = text],以便尊重autocomplete ="off"属性.

更新:

有关更多信息,请参阅msdn上的自动完成文档:http://msdn.microsoft.com/en-us/library/ie/ms533486%28v=vs.85%29.aspx

html javascript internet-explorer-11

20
推荐指数
3
解决办法
2万
查看次数

是否可以为现代浏览器真正禁用密码字段的自动填充和自动完成功能?

在现代浏览器中,自动填充和自动完成功能的标准是完全忽略autocomplete="off"放置在中的密码字段form。并插入保存的密码,即使它位于用户管理页面中也是如此。尽管原因在正确的地方,但这使创建用户管理页面变得非常痛苦。

我团队的Web应用程序以angular 7运行,目前仅支持chrome。但是我们很有可能需要支持其他浏览器,例如Internet Explorer,Edge,Firefox等。

我知道这是一个很大程度上受感动,而且我能找到类似这个问题(解答问题这样的或本)。但是到目前为止,我发现的每个解决方案都有至少一个大缺陷。

到目前为止,我在chrome上所做的尝试:

1)使用 autocomplete="new-password"

铬/铬开发人员似乎对此也忽略了这一点type="password"

2)type="text" autocomplete="new-password"与星号字体家族一起使用

这会导致Chrome无法自动填充输入字段并隐藏字母。但是最大的缺点是它的价值仍然存在,并且可以复制粘贴到其他字体系列中。输入字段也失去了安全性type="password",任何黑客都可以轻松获得价值。

3)使用-webkit-text-security

该解决方案与以前的解决方案几乎相同,但是它甚至不是CSS标准,并且很少有浏览器支持它。

4)用*代替值

这是我到目前为止尝试过的最棘手的解决方案。当输入值更改时,我在打字稿中调用一个函数:将新字符添加到本地字符串,将DOM值更改为*等于字符数,在上返回本地保存的值(blur)

这给我留下了很多问题要解决,包括:删除字符串中的任何字符总是会删除最后一个字符,除了最后一个问题外,即使值被完全擦除,第一个字符也将始终保持不变。知道字符串中要删除字符的位置。

该解决方案不理想。

5)在浏览器设置中禁用域密码管理

这确实不是解决问题的方法,因为这意味着我希望用户关闭域的密码管理。这还会导致许多用户可能需要的密码无法保存在登录页面上。

6)随机化[name][autocomplete]取值

通过将所述值绑定到基于当前时间的随机字符串的一种方法,我可以确保密码字段与浏览器保存的任何字段都不匹配。尽管许多人报告说这在所有浏览器之间都有效,但是使用chrome似乎根本不适合我。对于我来说,只要输入的是,Chrome就会显示建议的密码type="password"


到目前为止我看到的解决方案:

1)使用两个输入字段

在我看来,这与我自己的解决方案4)相同。并且可能会同样麻烦。

2)使用jQuery禁用自动填充插件

这似乎非常接近我在寻找什么,但问题是它使用了jQuery。我只能说我被告知我们没有使用jQuery,而且我可能将无法直接使用该插件。

我目前正在寻找一种使用angular来实现此方法的方法,希望能对此有所帮助或指示。


如果您知道我上面没有提到的任何解决方案,请发布答案或在评论中给我链接。

html css cross-browser typescript angular

6
推荐指数
1
解决办法
357
查看次数