关闭iframe内的stardard警报,以触发键盘输入或使用某种方法关闭警报

时间:2020-05-26 15:59:48

标签: javascript iframe

我有一个网站,其中包含一个iframe,该iframe加载了我无法控制的模板。这个想法是模板必须放下模板才能与其他东西交互。我必须将模板加载到iframe上,它会自动发出警报并在iframe中播放一些内容。问题是我需要一种方法来接受警报或通过模拟键盘Enter键来关闭警报,或者需要任何一种使我能够关闭警报的方法。我将其设置为超时间隔。

我尝试对iframe使用sandbox属性,但这无法消除警报功能,因此在这种情况下不起作用。

我需要使用纯JavaScript的解决方案。在这种情况下,使用jquery将增加更多的问题,但是如果这是唯一的解决方案,则可以考虑。

我发现了这些东西,但是不起作用:

const keyboardEvent = document.createEvent('KeyboardEvent')
const initMethod =
  typeof keyboardEvent.initKeyboardEvent !== 'undefined'
    ? 'initKeyboardEvent'
    : 'initKeyEvent'

keyboardEvent[initMethod](
  'keypress', // event type: keydown, keyup, keypress
  true, // bubbles
  true, // cancelable
  window, // view: should be window
  false, // ctrlKey
  false, // altKey
  false, // shiftKey
  false, // metaKey
  13, // keyCode: unsigned long - the virtual key code, else 0
  0 // charCode: unsigned long - the Unicode character associated with the depressed key, else 0
)
document.dispatchEvent(keyboardEvent)

有什么不好的吗?

0 个答案:

没有答案