动态更改javascript

动态更改javascript,javascript,html,iframe,Javascript,Html,Iframe,我想更改iframe中页面的javascript。我没有跨域问题 假设我有两个html文件: index.html 功能改变{ var text=document.getElementByIdtext.value; var html=$iframe_id.contents.findhtml.html; html=html.replace//-someText--/mg,text; $iframe_id.contents.findhtml.htmlhtml; } 动态警报文本: 您可以使用会话、

我想更改iframe中页面的javascript。我没有跨域问题

假设我有两个html文件:

index.html

功能改变{ var text=document.getElementByIdtext.value; var html=$iframe_id.contents.findhtml.html; html=html.replace//-someText--/mg,text; $iframe_id.contents.findhtml.htmlhtml; } 动态警报文本:
您可以使用会话、cookies、窗口对象或本地存储来获取和设置值,我认为这是解决问题的最简单方法

在index.html中,设置localStorage或window.sessionStorage变量以保存文本:

var text = document.getElementById("text").value;
          localStorage.setItem("myItem",text)
在iframe.html中获取该变量的值

alert(localStorage.getItem("myItem"));


当用户更改输入并再次点击“更改”按钮时,使用javascript生成包含数据的iframe,而不是编辑iframe,然后将其放置到DOMI中。用户仍然需要更改iframe。然后再次点击“更改”按钮,在DOM中销毁iframe并重新创建。您不能在iframe中编辑任何会在安全性方面产生重大问题的内容。下面的答案使用了一个很好的解决方法。这与将信息存储在服务器上并让iframe拉取相同,但客户端除外。这种方法的问题至少在我自己的情况下是这样的,我实际上不知道iframe.html中包含什么。我只搜索特殊的标记——someText,在index.html中创建一个表单供用户更改。它们可以是html、css或js。js函数可能像警报一样简单,也可能非常复杂。如果您无法控制iframe html中的数据,则无法完成所需的操作。因此,您可以尝试以下方法,var text=document.getElementByIdtext.value;var iFrame=document.getElementByIdiframe\u id;var iFrameHtml=iFrame.contentDocument | | iFrame.contentWindow.document;//现在你可以控制Iframe全局文档对象,然后像iFrameHtml对象那样设置或获取一个值,之后你可以在Iframe中设置和获取任何内容是的,我可以获取和设置html,我的问题是,当我使用不同js的新html设置它时,它仍然是旧的。
alert(window.sessionStorage.getItem("myItem"));