gpt4 book ai didi

ajax - html.ts 文件在我的 moovweb 项目中运行了两次

转载 作者:行者123 更新时间:2023-12-04 23:24:09 25 4
gpt4 key购买 nike

我遇到了 html.ts 文件在某些​​页面上运行两次的问题,即使在浏览器中关闭了 AJAX。这似乎不是映射问题,因为即使我注释掉所有映射,它也会执行此行为。该页面在 Chrome 浏览器中看起来不错。

最佳答案

如果 AJAX 或其他任何东西都没有在页面中插入任何内容,那么这可能是由于 html 格式错误造成的。如果在 <head> 之外的源中有任何内容, <body><html> , Gokogiri 将外围标记包装在单独的 <html> 中标签。那么既然有开闭两个<html>标签,html.ts 将运行两次。
解决方案是在我们告诉 Gokogiri 处理它之前捕获传入的页面,并通过确保所有内容都包含在 <body> 中来修复损坏的 html。标签。

在您的项目文件夹中的 scripts/main.ts 中,之后

match($content_type) {
with(/html/) {

添加这个,删除 </body></html>标记并将它们附加到末尾:
  # wrap markup that is outside the body so tritium doesn't get applied twice
replace(/\<\/body\>/,"")
replace(/\<\/html\>/,"")
append("</body> </html>")

这应该确保只有一个打开和关闭 <html>传递给 Gokogiri 的标签,并且 html.ts 只按照我们的意愿运行一次!

源代码在 Chrome 中看起来不错的原因是,当 Tritium 代码操作页面时,它会从 <html> 移动内容。标记到第一个,当 Chrome 收到页面时,它会删除​​第二个,空 <html>标签。

关于ajax - html.ts 文件在我的 moovweb 项目中运行了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16030565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com