Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.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 使用MacOS向iframe bug提交表单_Html_Macos_Forms_Safari_Osx Mountain Lion - Fatal编程技术网

Html 使用MacOS向iframe bug提交表单

Html 使用MacOS向iframe bug提交表单,html,macos,forms,safari,osx-mountain-lion,Html,Macos,Forms,Safari,Osx Mountain Lion,我有一个表单需要提交到iframe中。它在Windows和一些旧版本的Mac OS中工作得非常好。但它不适用于较新的版本。我已经用MacOSX Mountain Lion 10.8.3测试了它,但它不起作用。我的用户在不同的OS X版本上报告了相同的问题 代码如下: <form action="https://nidieunimaitre.spreadshirt.com/shop/basket/addtobasket" style="padding: 0px;" method="p

我有一个表单需要提交到iframe中。它在Windows和一些旧版本的Mac OS中工作得非常好。但它不适用于较新的版本。我已经用MacOSX Mountain Lion 10.8.3测试了它,但它不起作用。我的用户在不同的OS X版本上报告了相同的问题

代码如下:

    <form action="https://nidieunimaitre.spreadshirt.com/shop/basket/addtobasket" style="padding: 0px;" method="post" target="formiframe" name="tshirt_form" id="tshirt_form">

    <input type="hidden" name="product" id="productId" value="17695932"/>
    <input type="hidden" name="article" id="articleId" value="7048248"/>
    <input type="hidden" name="view" id="currentView7048248" value="351"/>
    <input type="hidden" name="color" id="productColor7048248" value="2"/>
    <input type="hidden" name="size" id="size" value="2"/>
    <input type="hidden" name="quantity" id="quantity" value="1"/>

<a onclick="document.tshirt_form.submit()"
id="popupajouterpanier" href="#inlinepopupajouterpanier">Ajouter au panier</a>

<iframe src="" name="formiframe" id="formiframe" width="400" height="400"></iframe>

</form>

或者您可以在我的网站上进行现场测试:

表单应该将一件t恤添加到一个篮子中,然后显示篮子的页面以及刚刚添加的t恤。有了窗户,一切都很完美。 但是使用OSX10.8.3,当您提交表单时,它只会将篮的页面加载到iframe中,但篮仍然是空的!!看起来表单没有正确发送数据

当我使用OSX10.8.3进行测试时,这个错误只发生在Safari上。该表单与Firefox配合使用。 但我的一些用户报告说,无论他们使用Safari还是Firefox,这项工作在OSX下都不起作用

请注意,这是跨域的(不确定是否重要)。该页面正在将表单数据发送到另一个域(spreadshirt.com's basket)

如果我不将表单提交到iframe中,它将起作用

更新:表单的操作目标是spreadshirt.com basket。我只是注意到,如果我在提交表单之前使用Safari访问此页面,那么在提交到iframe时它将起作用!!!如果我不先访问spreadshirt.com网站,Safari似乎不想创建cookie。但我不明白为什么它不适用于其他浏览器,为什么这个bug只影响iFrame。。。有工作吗? 根据另一个主题,这似乎是一个跨域cookie问题:


更新#2:将Safari的配置设置为从不阻止Cookie似乎可以解决问题。默认值为“阻止第三方cookie”。除了要求我的用户更改他们的设置之外,还有什么解决方法吗?

请参阅我的问题是Safari。歌剧里的一切都很管用。我的问题与iframe直接相关。如果表单没有提交到iframe,那么它可以完美地工作,因此表单的代码没有问题。。这家伙说他通过向表单元素添加name属性解决了他的问题。在我的情况下,表单的所有元素都有name属性,所以这个解决方案对我的情况完全没有用处。