Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 服务css和js的无cookieless域-组织代码的方式?_Javascript_Html_Css_Static_Cookieless - Fatal编程技术网

Javascript 服务css和js的无cookieless域-组织代码的方式?

Javascript 服务css和js的无cookieless域-组织代码的方式?,javascript,html,css,static,cookieless,Javascript,Html,Css,Static,Cookieless,我想将我的环境配置为从static.example.com而不是example.com/static提供css和javascript文件 第二种方法很方便,我可以编写html页面代码,以相对独立于实际域加载css和javascript文件,例如“static/reset.css” 是否有一个好的做法来避免在每次更改时更改所有源文件 static.example.com到static.otherexample.com 因为我必须在导入css和javascript时重写所有HTML源文件?HTML是

我想将我的环境配置为从static.example.com而不是example.com/static提供css和javascript文件

第二种方法很方便,我可以编写html页面代码,以相对独立于实际域加载css和javascript文件,例如“static/reset.css”

是否有一个好的做法来避免在每次更改时更改所有源文件

static.example.com到static.otherexample.com


因为我必须在导入css和javascript时重写所有HTML源文件?

HTML是如何生成的


您可以使用配置值或常量,并将该值用于任何静态资产的url的域部分

您总是可以在服务器上玩把戏,即HTML中的所有URL都可以是相对于
/static
,但一旦服务器收到请求,它就可以“更改”从
static.current domain.com
而不是
current domain.com/static

路由和获取文件使用某种可配置的前缀来包含js和css文件。根据您使用的技术,使用某种辅助方法是很有帮助的。在ASP.NETMVC中,我使用一些自定义方法,如
CSS.Add(“reset.CSS”)
,它知道路径和URL

js文件不应该真正关心从何处加载。至于css,重要的是要知道css中的相对URL被解释为相对于加载css的URL,而不是相对于加载页面的URL。因此,请确保您了解
背景图像:url('/images/img1.png')
也将从静态页面加载(这通常是一件好事)

更好的方法 压缩、缩小和合并所有CSS/js文件是最佳做法。因此,您应该只有非常少的文件(一个js,一个css)来保持较低的请求数量。这些文件的包含将发生在服务器上,因此URL并不重要。要实现这一点,您将需要某种辅助方法(和许多压缩逻辑,但有用于所有这些的库)


对于ASP.NET MVC,确实有,但我确信有很多工具可用于各种环境。

使用CMS(内容管理系统)并创建一个自定义主题/模板/视图/结构。一个快速修复方法是,只需配置您的服务器,即可从当前的
static
目录提供对
static.example.com
的任何请求。@Michael:检索静态文件时,我希望避免发送无用的cookie。一个快速修复,但不能解决我的需求。当然可以。这是另一个域,
example.com
的cookie将不会被发送。我以前使用过这种方法。@MichaelMior啊,当然,从浏览器的角度来看,它是一个不同的域,如果设置为绝对而不继承,它将拒绝发送cookie。不,然后浏览器发送的第一个请求仍然发送OP想要发送的cookiesavoid@PaulPodlipensky我忘了在我的问题中提到cookieless,但它在标签中。是的,避免不必要的cookies是一个目标。我对ASP.NET不太了解,但基本上你建议一种模板化方法来替换(或扩展CSS.Add(“reset.CSS”))占位符?它不仅仅是占位符-它基本上会收集(服务器上的)所有文件,解析它们,缩小和压缩它们,并创建一个文件。然后将该文件提供给客户机。使用不同的域为该文件提供服务是另一个改进,但我认为缩小/合并步骤更重要。