2011-09-27 89 views
0

我试图改变我的HTML文件。请参阅this以更好地了解我所做的事情。使用原生JavaScript动态更改HTML源代码?

每件事情都可以正常工作,但是当我查看源代码时并没有改变。我试图做的改变只反映在我在浏览器上打开的网页上。

难道可以通过任何方式改变HTML页面的实际来源吗?

我正在使用IE8和GreaseMonkey4IE在我想操纵的网页上运行我的JavaScript,以防万一您有兴趣。

还有一个类似的问题here。但我的本地存储中有我的HTML文件。没有服务器端 - 客户端技术。

编辑1

嗯,我已经安装Tomcat的,但它是所有在我的本地机器。
另外,如果我可以修改DOM不能将其另存为一个新的HTML文件,这样我就不必乱用原始源文件。

这就是我们怎么做in firefox。在IE8中必须有一些方法来做到这一点。

EDIT 2
现在是在HTML页面没有任何帧工作的罚款。但是当我在带有框架的页面上尝试这些时,它不起作用。它肯定会杀死我。 也许这是因为框架访问其他HTML页面。例如:

<frameset rows="95,*" frameborder="NO" framespacing="0" border="0" marginwidth="0" marginheight="0"> 
    <frame name="title" target="content" src="Strategy%20Details.asp_files/title.htm" scrolling="NO"> 
<frameset cols="168,*"> 
    <frame name="navigation" noresize="noresize" width="168" target="content" src="Strategy%20Details.asp_files/navigation.htm"> 
    <frame name="content" noresize="noresize" src="Strategy%20Details.asp_files/home.htm"> 
</frameset> 
</frameset> 



如何看帧访问在SRC属性的HTML页面。

任何想法???

+4

源是源,DOM是DOM。除了使用编辑器之外,您无法更改源代码。 –

+1

它被称为“源”的原因。 – kapa

+0

虽然我在tomcat上部署文件,但是因为greasemonkey4IE需要一个域来应用javascript on。这就是为什么我无法更改源代码? – EMM

回答

3

您应该能够使用IE Developer Tools查看动态更改。

当您查看源代码时,该页面会显示从服务器传送的源代码,而不会在事后做出任何更改。 IE开发者工具(或Firefox中的Firebug或Opera中的Dragonfly)可以让你动态地看到变化(并且会在变化发生时突出显示!)

+0

但是element.value =“”;如果我已将值更改为空白并且我的浏览器显示该值,我应该不能使用新名称保存该文件。 – EMM

+0

@mohit您可能可以将DOM作为HTML(如使用Firebug或同等版本)并保存。但不清楚你认为你会节省什么。 –

+0

@Dave是IE8的萤火虫等效物。 – EMM

0

编辑:不,没有办法,至少不是没有检查源没有萤火虫。

0

这是不可能的。我想这取决于浏览器,但是当你请求页面源时,他们通常会再次执行请求,或者使用原始源的缓存结果(很明显,在客户端操作之前,它只存在并且在你的中有意义在页面的视图浏览器),所以你得到你的源代码(在这种情况下,在本地存储的HTML文件)。

1

如果我理解你正确,你想改变硬盘上HTML文件的内容?这不可能使用JS,也不管HTML文件在哪里(本地机器或不是),总是有一个服务器端和客户端。基本上你的操作系统是作为服务器(为你提供HTML),你的浏览器仍然是只是一个客户端,没有更多的权利,如果你在网页上的页面。

这听起来像你应该寻找某种服务器技术,允许动态网页,如PHP,JSP,服务器端JS或其他任何一种。

1

因此,从使用Firefox浏览你正在做的事情来看,你不希望javsctipt进行保存,只需使用脚本修改DOM就可以在IE中保存更改的HTML表示。

在IE中,使用IE开发人员工具。按f12。如果您操作了DOM,请单击开发人员工具中的刷新图标。然后点击保存图标。

+0

ohh ..似乎你只是晚了几秒钟,但这绝不会减少你的努力。 – EMM

相关问题