我正在使用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;
此代码正常运行,我在控制台中观察到它。但是如果查看页面的来源,则不会更改元标记。
请帮我解决这个问题。
答案 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更改其内容