Javascript “为什么?”;新图像();立即触发网络请求,但;createElement(“脚本”);不是吗?
我使用Javascript “为什么?”;新图像();立即触发网络请求,但;createElement(“脚本”);不是吗?,javascript,html,Javascript,Html,我使用newimage()创建一个新的图像元素。当我设置'src'属性时,将立即触发网络请求。为什么?有什么文件可以解释吗 下列情况: 案例1: 案例2: 在案例1和案例2中,将立即触发网络请求 在案例3中,如果我不将脚本元素附加到主体中,则不会触发任何网络请求 为什么?我不确定这是否有帮助,中的步骤24解释了脚本标记的src行为,用户代理(浏览器)必须遵循该行为: 出于性能原因,用户代理可能会开始获取经典 一旦src属性 而是设置为希望将元素插入到 文档(以及跨原点属性)不会更改中的值 同时)
newimage()
创建一个新的图像元素。当我设置'src'属性时,将立即触发网络请求。为什么?有什么文件可以解释吗
下列情况:
案例1:
案例2:
在案例1和案例2中,将立即触发网络请求
在案例3中,如果我不将脚本元素附加到主体中,则不会触发任何网络请求
为什么?我不确定这是否有帮助,中的步骤24解释了
脚本
标记的src
行为,用户代理(浏览器)必须遵循该行为:
出于性能原因,用户代理可能会开始获取经典
一旦src属性
而是设置为希望将元素插入到
文档(以及跨原点属性)不会更改中的值
同时)
无论哪种方式,只要将元素插入到
文档中,加载必须已按此步骤中所述启动如果
UA执行这样的预取,但元素从未插入到
文档或src属性动态更改,或
动态更改crossorigin属性,则用户代理将
不执行这样获得的脚本,获取过程将
被有效地浪费了。
说明即使图像元素不在DOM中,也需要如何以及何时加载图像资源: 立即获取图像的用户代理必须同步更新 设置了重新启动动画标志的img元素的图像数据 如有说明,无论何时创建或经历该元素 相关突变 按需获取图像的用户代理必须更新图像数据 img元素在需要图像数据时(即,按需), 但仅当img元素的当前请求状态不可用时。 当img元素经历了相关突变时,如果用户 代理仅按需获取图像,img元素的当前 请求的状态必须返回到“不可用”
关于img的进一步信息元素: img元件的相关突变如下所示:
- 设置、更改或删除元素的src、srcset、width或size属性。
- 元素的src属性设置为与上一个值相同的值。这必须为更新图像数据算法设置重新启动动画标志。
- 元素的
属性的状态已更改crossorigin
- 元素插入到图片父元素中或从图片父元素中移除
- 元素的父元素是图片元素,源元素作为前一个同级元素插入
- 元素的父元素是picture元素,而先前同级的源元素将被删除
- 元素的父元素是picture元素,而作为前一个同级元素的源元素具有其
、大小、媒体或类型属性 设置、更改或删除srcset
- 运行元素的采用步骤
var img = new Image();
img.src = 'http://someurl.png';
var imgStr = '<img src="http://someurl.png">';
var div = document.createElement('div');
div.innerHTML = imgStr;
var script = document.createElement('script');
script.src = 'http://someurl.js';
// document.body.appendChild(script);