RT,想模拟js触发copy事件,写在js脚本中无效果,但是手动在dev控制台执行无问题。这个是因为chrome的安全策略导致的么?
已解决:
这个问题的背景没说清楚,实际上我是想通过写一个chrome插件来对页面一些事件进行处理。现在可以确定的是,至少在chrome46上,context script里面是无法用js(指用trigger方法)触发copy事件的。但是页面环境可以(trigger,execCommand)。
另外查了下资料,chrome中目前还不能使用new ClipboardEvent,因此在context script下用原生的方法模拟似乎也是行不通的。
抱歉,没有仔细的验证。
单独写了测试页面,chrome还是支持trigger copy的,测试页面确实有效果.Chrome版本:46.0.2490.86。自己项目中为什么失效还得找原因。
Stack OverFlow上说"Not possible without Flash or silverlight like plugins.",不知道是哪个chrome版本.
相关资料:
手机chrome在执行location.href="xxx://yyy?url=http://......"唤醒手机内某个APP并跳转到APP内某个H5页面是失效的,但是放在click按钮的handler里面是可以的,但是我用trigger('click')来模拟触发也没有用。
说明chrome是对某些行为做检查的,所有trigger,其时也是自动执行的代码,其trigger的handler也是会被检查的,目前只有放在handler里面,并等待运行时用户手动触发的,才能越过检查直接执行。看看原有的代码是不是有不能通过检查的地方。