2012-06-29 29 views
2

我正在学习Javascript,并且在这个过程中,我发现Javscript中不允许某些操作,这在一般的编程中是相当常见的。例如,由于明显的安全原因,不可能在Javascript中控制用户的鼠标指针,请参阅Move Mouse Cursor JavascriptJavascript中的不允许的方法

我想知道更多这样的事件可以用来控制用户输入,但在Javascript中不可能。

+0

我相信你的问题太广泛了,因为JavaScript是一种脚本语言,所以会有大量的JavaScript被编程语言遗留下来。 –

+0

是的,我明白。让我重新提出这个问题,只关注控制用户事件的方法。 – whatisinaname

回答

5

没有阻止您从Javascript 移动鼠标指针本身,它是环境您代码在(Web浏览器)中运行,它不提供库函数来执行此操作。

您可以通过编写Web浏览器扩展(例如,Windows上的受信任ActiveX控件)来解决该问题,该扩展可向脚本层提供绑定,例如SetCursorPos()。然后你将能够从你的Javascript代码中移动指针。

换句话说,Javascript语言不会以任何方式限制您,但是如果您真的想要(取决于浏览器的话),Web浏览器环境实施(合法)限制可以被解除。

最后一件事:鼠标指针属于用户。以编程方式移动它是侵入式的,令人惊讶的,令人困惑的,并且降低用户对您的应用程序和他的桌面环境的信心。 请不要这样做。

+0

有道理。因此,我不应该专注于Javascript,而应该关注浏览器以及哪些事件来控制用户输入是允许的还是受限制的。对于不同的浏览器,这些限制会有所不同。正确? – whatisinaname

+0

正确,但请记住,首先解除这些限制的原因很少。如果您正在寻找全面的UI自动化,则有[其他解决方案](http://msdn.microsoft.com/zh-cn/library/ms747327.aspx)。 –

+0

是的,我了解这些限制的安全含义。这正是我想知道的,即浏览器不允许使用哪些方法,特别是控制可能以某些方式导致恶意活动的用户输入。控制鼠标指针就是这样一种方法。 – whatisinaname

2

那么,这些可能会有所帮助:

Hereyougo