Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
Html 在更改或设置src或srcDoc属性时,是否丢弃iframe的web浏览上下文?_Html_W3c - Fatal编程技术网

Html 在更改或设置src或srcDoc属性时,是否丢弃iframe的web浏览上下文?

Html 在更改或设置src或srcDoc属性时,是否丢弃iframe的web浏览上下文?,html,w3c,Html,W3c,根据HTML5官方规范,他们声明: 从文档中删除iframe元素时,用户代理必须放弃嵌套的浏览上下文(如果有的话) 因此,我想知道如果我更改src或srcDoc属性,浏览上下文是否也会被丢弃 规范中也提到了这一点: 当用户代理要处理iframe属性时,它必须运行以下步骤中的第一个适当步骤 但我不清楚设置/更改此属性是否会放弃当前的浏览上下文。如果没有,JavaScript执行上下文会被丢弃吗?如果设置的URL与前一个URL的片段不同,那么简单的答案是肯定的 长而复杂(顺便说一句,它是: 只要具有

根据HTML5官方规范,他们声明:

从文档中删除iframe元素时,用户代理必须放弃嵌套的浏览上下文(如果有的话)

因此,我想知道如果我更改src或srcDoc属性,浏览上下文是否也会被丢弃

规范中也提到了这一点:

当用户代理要处理iframe属性时,它必须运行以下步骤中的第一个适当步骤


但我不清楚设置/更改此属性是否会放弃当前的浏览上下文。如果没有,JavaScript执行上下文会被丢弃吗?

如果设置的URL与前一个URL的片段不同,那么简单的答案是肯定的

长而复杂(顺便说一句,它是:

只要具有非空嵌套浏览上下文的iframe元素 用户代理必须设置、更改或删除其srcdoc属性 处理iframe属性

类似地,每当使用非null嵌套的 未指定srcdoc属性的上下文具有其src属性 设置、更改或删除时,用户代理必须处理iframe 属性

国家:

如果指定了元素的srcdoc属性,则: … 导航到srcdoc资源:导航iframe或frame给定元素 … 如果元素指定了src属性,或者initialInsertion为false,则为给定元素的iframe和frame元素运行共享属性处理步骤

政府说:

将元素的嵌套浏览上下文导航到资源

最后,定义如下:

如果historyHandling不是“重新加载”,则资源是一个请求,资源的 url等于browsingContext的活动文档的url和exclude 设置了fragments标志,并且资源的url的片段为非空,则:

Navigate to a fragment given browsingContext
… 否则,资源是一个请求,其url的方案既不是“javascript”,也不是 提取方案

Run process a navigate URL scheme given resource's url and browsingContext.
此时,浏览上下文将更改为新资源

请注意,规范中引用的部分仅反映了片段的情况,并将URL更改为“javascript”或FetchScheme URL以外的内容