2

我一直在寻找这个问题的答案,但似乎无法找到如何去做......或者是否有可能。

我有一个显示 .HTML 页面的 JavaScript 程序。我有来自另一家公司的 API,它也向我们发送信息。我希望能够在用户看到它之前更改 .HTML 页面的内容。这可能吗?

例如,假设 page.html 是:

<HTML>
<HEADER>
<TITLE>
The Company Name
</TITLE>
</HEADER>
<BODY>
Some stuff
</BODY>
</<HTML>

page.html 位于我们的服务器上并使用 JavaScript/HTML 我想在页面呈现给用户之前使用 API 中的值更改“公司名称”的值。这可能吗?

4

3 回答 3

2

window.onload如果您想确保您的用户在编辑之前看不到页面,则不会这样做,因为它onload会等待加载所有内容,包括图像。

我推荐的是:

  • 更改 head 块中的标题:<script>document.title="test"</script>
  • 最初隐藏页面,方法是将其包含在<div id=wholepage style="display:none;">
  • 更改<script>正文末尾包含的标准块中的页面内容
  • 最后呈现你的大 div 可见,使用document.getElementById('wholepage').style.display='block';
于 2012-09-13T16:45:43.173 回答
0

一个简单的 Javascript 函数就可以解决问题:

window.onload = function() { document.getElementByTagNames("title")[0].value = "Yourvalue"; }
于 2012-09-13T16:40:32.073 回答
0

您可以将页面中的 HTML 加载到字符串变量中。然后,您将在字符串上使用正则表达式并搜索起始表达式和结束表达式,并对该内容进行替换。Javascript 有一个替换方法。

var str="<HTML><HEADER><TITLE>The Company Name</TITLE></HEADER><BODY>Some stuff</BODY></<HTML>";
str=str.replace("<TITLE>","<DUMMY>"); 
str=str.replace("</TITLE>","</DUMMY><TITLE>your real title</TITLE>"); 

本质上,您会将标题标签重命名为不存在的标签,例如 dummy,然后将真实的标题标签附加到它的末尾。

然后,您可以在运行时在页面中的字符串/变量中显示 HTML 内容。

于 2012-09-13T16:49:57.130 回答