将文本复制到剪贴板的最佳方法是什么?(多浏览器)
我试过了:
function copyToClipboard(text) {
if (window.clipboardData) { // Internet Explorer
window.clipboardData.setData("Text", text);
} else {
unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
const clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
clipboardHelper.copyString(text);
}
}
Run Code Online (Sandbox Code Playgroud)
但在Internet Explorer中,它会出现语法错误.在Firefox中,它说unsafeWindow is not defined.
没有闪存的好技巧:Trello如何访问用户的剪贴板?
我试图根据具有焦点的当前元素将焦点移动到制表序列中的下一个元素.到目前为止,我的搜索中没有任何内容.
function OnFocusOut()
{
var currentElement = $get(currentElementId); // ID set by OnFocusIn
currentElementId = "";
currentElement.nextElementByTabIndex.focus();
}
Run Code Online (Sandbox Code Playgroud)
当然nextElementByTabIndex是这个工作的关键部分.如何在标签序列中找到下一个元素?解决方案需要使用JScript而不是JQuery.
我有一张包含大量条目的表格.一旦我在当前文本框中输入值,我想将焦点更改为下一个文本框.并希望将此过程继续到最后一个字段.我的问题是,一旦我在文本框中输入值,是否可以通过javascript编码模拟tab键.
没有按下键盘上的Tab键,我想通过javascript带来相同的功能.这可能吗 ?
我试图在调度的事件对象上设置keyCode.
单击按钮时,会在文本框控件上引发事件以模拟keydown事件.事件成功引发,但keyCode为0.我需要将具有正确keyCode的事件对象发送到文本框.我一直在使用这里的代码.
如何在调度事件中设置keyCode值?
<html>
<head>
</head>
<body>
<input type="button" id="btn" value="Click"></input>
<input type="text" id="txt"></input>
<script>
document.getElementById('btn').addEventListener("click", btnClick);
document.getElementById('txt').addEventListener("keydown", txtKeydown);
function btnClick(e) {
var txt = document.getElementById('txt');
var dispatchKeyboardEvent = function(target, initKeyboradEvent_args) {
var e = document.createEvent("KeyboardEvents");
e.initKeyboardEvent.apply(e, Array.prototype.slice.call(arguments, 1));
e.keyCode = 83;
e.charCode = 0;
target.dispatchEvent(e);
};
var canceled = !dispatchKeyboardEvent(txt,
'keydown', true, true, // type, bubbles, cancelable
window, // window
's', // key
0, // location: 0=standard, 1=left, 2=right, 3=numpad, 4=mobile, 5=joystick
false, false, false); // Ctr, …Run Code Online (Sandbox Code Playgroud) 我正试图找到一种模拟按键的方法.
例如,当启动功能时,应按下"向下箭头"键,因此网页应略微滚动.
我只对Chrome感兴趣,jQuery或普通JS都适合.(普通的JS会更优选).
这是我尝试过的代码示例之一:
var e = $.Event("keydown", { keyCode: 40}); // 40 = down arrow
$("body").trigger(e);
// When I launch it the console, nothing happens. The page is not scrolled.
// May be I missed some obvious?
Run Code Online (Sandbox Code Playgroud)
我搜索并发现了以下相关问题,但解决方案对我不起作用:
换一种说法
使用AutoHotkey,您可以轻松地制作以下内容:
Down::
Send, {Up}
Run Code Online (Sandbox Code Playgroud)
然后,如果按Down箭头键,它将被触发Up.我只想用JS实现它.
我想制作一个能够控制Netflix播放器的Chrome扩展程序.
据我所知,目前的Netflix播放器是用HTML5编写的,所以我想知道是否有办法控制播放器,例如播放,暂停,音量控制和改变视频的位置.
我已经尝试使用它来控制播放和暂停功能,它的工作原理.
document.getElementsByClassName("player-control-button player-play-pause")[0].click();
Run Code Online (Sandbox Code Playgroud)
我也试过用,但后来我得到一个错误,说这videoPlayer()不是一个功能
netflix.cadmium.objects.videoPlayer();
Run Code Online (Sandbox Code Playgroud)
我可以做些类似的事情来改变视频的音量和位置吗?
谢谢!
是否有任何方法可以在javascript中确定是否在移动键盘上按下shift键,并将其与大写锁定区分开(两次按下shift键)
我试图通过javascript在网页中模拟键盘事件,因为Safari浏览器不支持Actions.
首先,我创建了一个简单的表单(如下所示),并试图通过文本框进行选项卡,但它不起作用.
使用的Java脚本:( ubuntu和chrome浏览器).我在Chrome浏览器控制台中解雇了该脚本.
var pressTabKey = document.createEvent("KeyboardEvent");
pressTabKey.initKeyboardEvent("keypress", true, true, null, false, false, false, false, 9, 0);
document.getElementById('1234').focus();
document.getElementById('1234').dispatchEvent(pressTabKey);
Run Code Online (Sandbox Code Playgroud)
HTML表格:
<html>
<head>
</head>
<body>
<p>Test Page </p>
<form>
<input id="1234" type="text" value="Enter Here">
<br>
<br>
<input id="1235" type="text" value="Enter Here">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 一点上下文:我正在开发一个基于HTML5的移动应用程序,该应用程序具有自动完成功能,由于setSelectionRange中的错误而在Android上中断:http://code.google.com/p/android/issues/detail? id = 15245因此,我不能像通常那样直接操作文本字段中的文本.为了解决这个问题,我计划手动触发几个关键事件来模拟用户按下android软键盘上的键.
我找到的所有解决方案是否可以通过编程方式模拟按键事件?并且在JavaScript中触发键盘事件只是触发事件而不实际创建任何文本输入.
有没有办法模拟整个按键事件,包括文本输入,使用JavaScript?
更新:修复(有点)
我通过使用Trigger(我们正在使用的包装器)编写一个插件来手动触发本机级别的Android键盘事件来解决这个问题.它在这里举办:http://bit.ly/RiJqrM,如果有其他人感兴趣的话.
另一个更新:
进一步的挫折和随后的测试让我走了一圈,事实证明上面提到的android bug可能有点像红鲱鱼.我的插入符号表现奇怪的原因实际上可能是由于本机android自动完成的一些组合以及jQuery focus()在android(无耻的自我推销)上根本不起作用的事实:Android JQuery focus()变通方法
javascript ×10
dom-events ×2
events ×2
android ×1
clipboard ×1
copy-paste ×1
html5 ×1
ios ×1
jquery ×1
jscript.net ×1
keyboard ×1
keydown ×1
netflix ×1
safari ×1
trigger.io ×1