JavaScript替换用于所有图像的服务器?

时间:2014-09-02 18:00:05

标签: javascript jquery html css image

如果静态HTML文件及其附带的静态CSS文件引用了包含图像的静态服务器,是否可以使用JavaScript来阻止页面从其src属性和url()定义加载所有图像,而是用另一台服务器替换它们?

尝试按照

的方式做点什么
$('body').html($('body').html().replaceAll('src.example.com', 'target.example.com'));

不会阻止图像首先加载。有什么想法吗?

背景故事,如果它可以帮助您提出不同的建议:我希望我的网站能够在中国境内的中文服务器上显示图像。这可能有助于非中国网站在中国的节流。选择一个中国的CDN来服务全世界似乎是一个坏主意,并且依赖于每个国家以不同方式解析DNS的服务似乎有些冒险。

所以目前我们有.com和.cn域名,并希望.cn域名从同一台服务器提供服务,但其图片来自本地中文CDN。虽然网站确实生成了动态页面,但它们是静态缓存的,并且尝试按域生成不同的页面意味着需要更多的工作来生成页面。这就是为什么我认为也许JavaScript可以通过替换所有图像来提供帮助。

1 个答案:

答案 0 :(得分:1)

使用base标记以及onclickonsbumit事件处理程序等技巧可以实现您的目标,但我几乎可以肯定这不是一个好的解决方案

在头部或您身体的第一件事中使用javascript,您可以插入一个基本标记,它将更改您的网站链接的所有资源的标准服务器(表单操作,链接href,样式表,图像)请求(甚至是CSS的)。

然后,为了避免服务器更改链接和表单,您必须根据当前网站URL处理单击和提交事件以修复服务器,或者一旦页面准备就绪,立即修改所有这些。

这可能有用吗?是的,但我相信最好的解决方案是更改服务器端的URL或让CDN处理地理位置定位。