2

Safari 9 让form标签在 dom 元素下消失。Safari 8 和 Chrome 和 Firefox 都很好。

在此处输入图像描述

  • 我的 Mac 是优胜美地 10.10.5。
  • Safari 是 9.0 (10601.1.56.2)

我搜索了safari 9 documentation

https://developer.apple.com/library/prerelease/mac/releasenotes/General/WhatsNewInSafari/Articles/Safari_9.html

但我没有找到解决方案。有人有任何信息吗?

更新 2015-10-05

这是template+form问题。

https://jsfiddle.net/svj7j2gs/

<form id="first-form">
  first-form
</form>
<template>
  <form id="second-form">
    second-form
  </form>
</template>
<form id="third-form">
  third-form
</form>

镀铬结果

#third-form表单标签存在。

在此处输入图像描述

Safari 9 结果

删除了#third-form表单标签。

在此处输入图像描述

template自 Safari 7.1 起支持 该标签?https://html.spec.whatwg.org/multipage/scripting.html#the-template-element

Safari 8 结果

在此处输入图像描述

多个帖子

如果它是一个错误,它超出了stackoverflow的范围。所以我发布了 Apple 支持社区。 Safari 9 - 损坏的 DOM。是虫子吗?| Apple 支持社区

4

1 回答 1

0

这绝对是一个错误。

解决方案1:将需要的内容移到嵌套的form上方templateform

示例

<form id="first-form">
    I'm fine here
</form>
<template>
    <form id="second-form">
        second-form
    </form>
</template>

解决方案 2form :直接在模板之后和需要之前添加一个虚拟对象form。只有模板后面的第一个表单会从 DOM 中删除。

示例

<template>
    <form id="second-form">
        second-form
    </form>
</template>
<form id="third-form">
    I will get stripped
</form>
<form id="third-form">
    I will be fine here
</form>
于 2016-05-27T22:44:11.240 回答