将iframe的src=”“更改为javascript:
我正在尝试将iframe的源代码更改为javascript:。。。 我试过了,但运气不好将iframe的src=”“更改为javascript:,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我正在尝试将iframe的源代码更改为javascript:。。。 我试过了,但运气不好 <iframe id="iframed" src="http://example.com"></iframe> $('#iframed').attr('src','javascript:document.write("hello world")'); 我收到TypeError:document.write不是函数错误。 正确的方法是什么 <!DOCTYPE html>
<iframe id="iframed" src="http://example.com"></iframe>
$('#iframed').attr('src','javascript:document.write("hello world")');
我收到TypeError:document.write不是函数错误。
正确的方法是什么
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<iframe id="iframed"></iframe>
<script>
var test = "Hello World!";
document.getElementById("iframed").src = "data:text/html;charset=utf-8," + test;
</script>
</body>
</html>
试试这个,它在chrome中工作…也看看这个
试试这个,它在chrome中工作……还可以查看这个如果您只想将内容写入框架,您可以直接访问其文档对象:
document.getElementById("iframed").contentDocument.write("Hello World!");
但是,如果框架已从外部域加载,则此操作不起作用。如果您只想将内容写入框架,则可以直接访问其文档对象:
document.getElementById("iframed").contentDocument.write("Hello World!");
但是,如果框架已经从外部域加载,那么这将不起作用。我知道没有标准定义在使用javascript:scheme将iframe上的src属性设置为URI时应该发生什么。有一个例子表明什么功能已经存在,比如它在锚元素中的使用,但并没有说用户代理必须做任何事情。您可以将其输入浏览器的地址栏,这是由于浏览器的实现。例如,我猜在lynx这样的命令行浏览器中输入URL将毫无用处
如果您想使用JavaScript在帧之间进行通信,那将是一个不同的问题。我所知道的没有标准定义了当您使用JavaScript:scheme将iframe上的src属性设置为URI时应该发生什么。有一个例子表明什么功能已经存在,比如它在锚元素中的使用,但并没有说用户代理必须做任何事情。您可以将其输入浏览器的地址栏,这是由于浏览器的实现。例如,我猜在lynx这样的命令行浏览器中输入URL将毫无用处
如果您想使用JavaScript在框架之间进行通信,那将是一个不同的问题。因为您试图在iframe中添加内容或其他内容,您首先需要知道,如果您无法控制示例中框架内的站点,那么这很可能是不可能的 否则很容易注入脚本,这将导致各种安全问题
如果您可以控制iframe内的站点,则可以使其能够理解来自站点(包括iframe)的消息。如果你想这样做,你可以看看 由于您试图在iframe中添加内容或其他内容,因此首先需要知道,如果您无法控制示例中框架内的站点,那么这很可能是不可能的 否则很容易注入脚本,这将导致各种安全问题
如果您可以控制iframe内的站点,则可以使其能够理解来自站点(包括iframe)的消息。如果你想这样做,你可以看看 您正在尝试将内容放入中吗?该错误听起来不相关。如果您将javascript:document.writehello world写入url栏,则会正常工作。那么为什么我们不能在iframe上这样做呢@是的,如果iframe与您的代码所在的文档是同一来源,您可以直接更改iframe的内容。如果不是,那么您也可以将iframe替换为包含所需内容的其他iframe。您是否尝试将内容放入?该错误听起来不相关。如果您将javascript:document.writehello world写入url栏,则可以正常工作。那么为什么我们不能在iframe上这样做呢@是的,如果iframe与您的代码所在的文档是同一来源,您可以直接更改iframe的内容。如果不是,那么您也可以将iframe替换为包含所需内容的其他iframe。document.write只是一个示例。我们可以用你的方法运行其他js函数吗?我不知道你的意思是什么?我可以将hello world文本更改为javascript吗?这样我就可以运行javascript?@user198989为什么不在iframe中创建一个单独的html页面并链接到该页面?在Internet Explorer中不起作用。浏览器尝试使用某些应用程序打开页面。非常奇怪的document.write只是一个例子。我们可以用你的方法运行其他js函数吗?我不知道你的意思是什么?我可以将hello world文本更改为javascript吗?这样我就可以运行javascript?@user198989为什么不在iframe中创建一个单独的html页面并链接到该页面?在Internet Explorer中不起作用。浏览器尝试使用某些应用程序打开页面。非常奇怪,它在任何Internet Explorer版本中都不起作用。它无法读取contentDocument.write。该函数在ie中有不同的名称吗?@user198989在旧版本的ie中,您可以访问contentWindow.document,但我认为它应该像IE8以后版本中的其他浏览器一样工作。我理解。可以用//some js代替Hello world吗?@user198989你可以写什么
不管你想要什么。如果你扩展你的问题并解释你的总体目标是什么,你可能会得到更多有用的信息。为什么要在框架中创建内容?它在任何Internet Explorer版本中都不起作用。它无法读取contentDocument.write。该函数在ie中有不同的名称吗?@user198989在旧版本的ie中,您可以访问contentWindow.document,但我认为它应该像IE8以后版本中的其他浏览器一样工作。我理解。可以用//一些js代替Hello world吗?@user198989你可以写任何你想写的东西。如果你扩展你的问题并解释你的总体目标是什么,你可能会得到更多有用的信息。为什么要在框架中创建内容?