如何将功能添加到iframe中?

时间:2014-08-25 21:55:48

标签: javascript jquery ajax iframe

我想创建一个改变聊天工作方式的脚本。聊天是使用AJAX技术进行的,但重点是我无法在任何级别编辑聊天。

脚本的要点是在收到消息时添加声音。我正在考虑编辑AJAX函数并在那里添加一些脚本来发出声音。重点是添加JS并在原始函数上添加一个新函数。

那么......如何从iframe外部编写的JavaScript中创建新的JavaScript?我知道你可以编辑DOM的方式,但不知道如何添加新脚本。

如果您有新的想法,我可以听到另一种编辑聊天的方法,但是这个(我甚至感觉不舒服)。

2 个答案:

答案 0 :(得分:1)

Lee Taylor是对的,你只能从同一个域编辑iframe,但既然你说你可以编辑dom,你总是可以在dom中添加一个脚本标签,它会立即被解析。 / p>

e.g。

var scriptElement = document.createElement('script');
scriptElement.textContent = 'alert(\'hello world\');';
iframe.body.appendChild(scriptElement);

答案 1 :(得分:0)

如果iframe位于同一个域中,只需创建一个脚本并将其添加到头部。

$('<script />', {html: code}).appendTo($('iframe').contents().find('head'))

$('<script />', {src: srcUrl}).appendTo($('iframe').contents().find('head'))

来源:

https://stackoverflow.com/a/4975050/3969707

https://stackoverflow.com/a/1639342/3969707