如何在angularjs单页面应用程序中更改元标记内容?

时间:2015-08-30 15:47:07

标签: javascript html angularjs

我正在使用angularjs开发单页面应用程序。我想更改父页面的元标记的内容。

我使用以下代码来执行此操作。

document.getElementsByTagName("META")[5].content = "The title is here";
document.getElementsByTagName("META")[6].content = "This is the description";
document.getElementsByTagName("META")[7].content = document.getElementById("ImgResult").src;

此代码正常运行,我在控制台中观察到它。但是如果查看页面的来源,则不会更改元标记。

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

当您查看"源代码"时,您会看到html文件与最初从服务器中提取时的情况一样。

所以任何改变都不会反映在那里。如果你做"检查元素"相反,这将显示更新的内容。

例如,许多角度应用程序使用ui路由器或ng-router来显示视图。如果你查看页面来源'在这些页面上,您将只看到将被视图替换的元素,而不会看到视图中的实际html。

答案 1 :(得分:0)

页面的源代码是静态文档,它不会保留您的更改,但查看DOM会显示标签确实已更改,您可以通过

验证它
//open chrome(or whatever) dev tools, try it right now, in this website
//write below lines in console
document.getElementsByTagName("META")[0].content = "The title is here";
console.log(document.getElementsByTagName("META")[0]);
//switch to Elements tab, find first meta, value is changed

查看页面的源代码并没有多大用处,因为许多网页通过jquery或angular更改其内容