1
我有浏览器扩展打开一个iFrame并允许用户做东西,然后更新父页面上的值。跨越不同的域,并使用postMessage和receiveMessage,以便我可以跨域传递消息。这效果很好,我可以使用这些消息在父页面上的控件中设置某些值。我可以设置选择框的值,但我也需要通过jQuery交叉脚本postmessage后选择火灾更改事件
火选择box'es变化事件$("#selectid").change();
这工作,如果从用户事件调用的页面上,而是从receiveMessage调用时,它只是不会触发更改事件。我相信这可能是为了防止交叉脚本攻击,但是由于我可以设置该值,所以我当然也应该能够调用change事件。任何人都可以确认这种行为和/或了解工作。
PS。我使用的代码是大型应用程序的一部分,我没有可以轻松展示的演示,但上面的解释非常详细。
这onchange事件处理程序使用jQuery绑定?也许你应该派遣事件,而不是:http://stackoverflow.com/a/22404414/1414562 –
这样做的伎俩感谢 - 快速回应。 你可以阐明为什么dispatchEvent的作品,jQuery的变化或触发事件不? –
使用jQuery触发onchange事件不会触发处理程序绑定使用例如addEventListener()javascript的方法 –