gpt4 book ai didi

javascript - CSS 从通过 Javascript 嵌入到 Div 中的内容中剥离

转载 作者:太空宇宙 更新时间:2023-11-04 05:35:00 25 4
gpt4 key购买 nike

我有以下文件文件:

<html>
<head>
<title></title>

<script type="text/javascript" src="/Prototype.js"></script>
<script type="text/javascript">
function load_content()
{
new Ajax.PeriodicalUpdater('content', '/UpdatedContent/,
{
method: 'post',
frequency: 5
});

//var fileref = document.createElement("link");
//fileref.setAttribute("rel", "stylesheet");
//fileref.setAttribute("type", "text/css");
//fileref.setAttribute("href", filename);
}
</script>

</head>

<body>

<div id="content"></div>

<script type="text/javascript">
load_content();
</script>

</body>
</html>

UpdatedContent 中的内容应该每 5 秒加载到“内容”div 中。奇怪的是 HTML 已加载,但加载页面顶部的部分在插入“内容”时被完全剥离

加载的页面基本上是这样的:

<style type="text/css"> 
... lots of css here ...
</style>

... lots of HTML here ...

没有,,

CSS不能直接注入(inject)div吗?? Prototype 框架或浏览器的 DOM 剥离 CSS 是否有某种原因?

如何在不进行单独调用的情况下包含 CSS?

正如您从给定的主文件中看到的那样,如果“content”div 中没有加载任何内容,该页面将完全空白。这是故意的。我基本上想将其用作一个结构,在该结构上动态加载更新的内容,这样页面就不必完全重新加载来刷新数据。

不,我不能将 CSS 硬编码到上面的文件中,因为 CSS 也会发生变化。

编辑关于yaauie's response ... 现在我知道为什么会这样了,因为我将风格和内容合二为一。如果我将 CSS 分离到一个可以加载的单独文件中,我将如何通过 AJAX(最好使用 Prototype)加载它,然后,更重要的是,将该 CSS 设置为页面内容的样式表?

最佳答案

<style>标签只允许出现在 <head> 中的 HTMLXHTML , 而不是 <body>或其任何后代。 Web 浏览器在文档的初始解析中往往对此相当宽容,但在更改 innerHTML 时,我希望浏览器会忽略任何 <style>元素,因为那里不需要那种类型的元素。

作为解决方法,是否可以在您的响应中使用内联 CSS,即使用 style=""您传递的 HTML 元素的属性?

编辑: 将 CSS 添加到 <head>需要以下两件事之一:

  • 两次往返您的服务器:
  • 包含这两者并且可以在插入前解析的响应

在这种情况下,我建议在发送之前将您的两个部分编码为一个 JSON 对象。您对 AJAX 操作的回调应该拆分这些并将它们附加到适当的位置(样式优先以避免屏幕抖动)

{"style":"\ndiv#ajax7373 a {\n  color:#fff;\n  text-decoration:underline;\n  font-weight:bold;\n  \n}\ndiv#ajax7373 {\n  background-color:#ff1cae;\n  color:#ff6ccf;\n}","object":"\n<div id=\"#ajax7373\">\n\tThere is the contents of your div and a <a href=\"#\">link<\/a>\n<\/div>\n"}

也就是说,我很难相信该应用程序如此强烈地支持样式/内容分离,并且采用了一种必须由内容生成样式的方法。为什么不设计整个域的样式,包括 AJAX 请求的预期返回值? AJAX 请求的元素真的会在结构/样式上有足够的差异来保证这一点吗?

关于javascript - CSS 从通过 Javascript 嵌入到 Div 中的内容中剥离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/434127/

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