Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将iframe的src=”“更改为javascript:_Javascript_Jquery_Html_Iframe - Fatal编程技术网

将iframe的src=”“更改为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的源代码更改为javascript:。。。 我试过了,但运气不好

<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你可以写任何你想写的东西。如果你扩展你的问题并解释你的总体目标是什么,你可能会得到更多有用的信息。为什么要在框架中创建内容?