Jag söker en lösning eller i värsta fall en bekräftelse på att detta är en bugg i Safari. Jag har inte hittat något om det på nätet...
Jag utvecklar webbapplikationer i ASP.NET (utmärkt utvecklingsmiljö trots att den kommer från Microsoft) och får problem i Safari när jag postar ett formulär med följande förutsättningar:
Formuläret har enctype="multipart/form-data"
Procenttecknet (%) finns med i formulärdatan (utan hexadecimalt värde i direkt anslutning)
Sidan innehåller javascript
Datamängden är ganska stor i formuläret
När jag postar ett formulär med dessa förutsättningar låser sig Safari (både i Mac och Win) och processorutnyttjandet går i taket ett tag tills allt släpper och den nya sidan visas. Tiden det tar varierar mellan några millisekunder till flera minuter beroende på datamängden i formuläret som postas. Jag har uppfattningen att tiden växer exponentiellt med datamängden. För att mäta tiden använder jag Safaris inbyggda funktioner för utvecklare.
Jag har gjort ett enkelt exempel som ger felet (åtminstone när webbservern är en IIS) och undrar om någon har tips på en lösning eller kan bekräfta att det är en bugg i Safari så att jag kan sluta försöka lösa det. Jag är ingen PHP-kille, men kan felet återskapas med PHP, eller är det ett fel i IIS (varken IE, FF eller Chrome visar dock felet när Safari gör det)?
Exempelkod för filen "Test.aspx":
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Test</title>
<script type="text/javascript">
a = 1;
</script>
</head>
<body>
<form runat="server" enctype="multipart/form-data">
<input type="hidden" runat="server" value="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum facilisis feugiat. Etiam sed purus lorem. Vestibulum ut tellus tortor, sed lacinia est. Suspendisse semper malesuada tortor, eget suscipit lectus varius ac. Donec ut dictum ligula. Duis ultricies justo vitae mi aliquam eget sodales erat auctor. Nulla eget aliquet sem. Morbi felis magna, molestie eget iaculis placerat, viverra eu nisi. Pellentesque et risus massa. Suspendisse adipiscing volutpat metus et ullamcorper. Etiam sit amet dui enim, sit amet tristique dolor. Nullam laoreet tristique nisl quis iaculis. Sed justo erat, dictum non molestie id, tristique ac est. In id neque dolor. Etiam sed bibendum sem. Fusce egestas consequat magna, ac blandit risus consectetur a. Fusce sollicitudin lacinia purus ut eleifend. Aenean rutrum pretium orci ac vehicula. Nam bibendum laoreet varius. Nulla est dui, gravida in condimentum vitae, cursus at odio. Mauris tincidunt pellentesque risus ut dictum. Etiam a magna libero. Phasellus tortor quam, aliquam quis sollicitudin id, consequat sed est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur pharetra condimentum augue, ac vulputate elit sollicitudin quis. Cras mollis, neque nec sagittis iaculis, mi massa imperdiet metus, ut blandit odio risus tincidunt magna. Proin molestie fringilla risus, et ultrices libero vestibulum at. In luctus tincidunt lectus, quis egestas felis auctor nec. In tincidunt molestie quam nec condimentum. Nulla vulputate euismod dui, a scelerisque lacus tincidunt elementum. Nulla rhoncus porttitor tempor. Maecenas dapibus, magna in molestie bibendum, dolor dolor facilisis lorem, sit amet rhoncus felis metus vitae nisl. Praesent vitae venenatis nisi. Mauris in leo non lorem feugiat elementum ut vitae massa. Nullam adipiscing tellus non erat sodales vel hendrerit ipsum pharetra. Sed faucibus luctus odio ut convallis. Quisque dictum odio vitae lacus vulputate interdum. Etiam volutpat massa at enim auctor facilisis. Integer id justo a nunc tempus dignissim. Donec consequat consectetur nisl non volutpat. Vestibulum vehicula ornare diam vitae vulputate. Quisque ante urna, congue at porta faucibus, faucibus sed est. Ut sit amet velit ut quam pulvinar eleifend id vel sem. Ut elementum porta lorem vitae pulvinar. Suspendisse eget nunc purus. Nam sit amet orci non nisi laoreet venenatis vitae ut nibh. Aenean vitae turpis leo. Aliquam erat volutpat. Nulla orci nisl, facilisis quis pharetra sit amet, aliquam et purus. Vivamus scelerisque volutpat felis vehicula pellentesque. Praesent feugiat pretium purus eget ultrices. Maecenas at orci id velit lacinia ullamcorper. Integer sed odio nisl. Vestibulum luctus nisl ac lectus eleifend condimentum. " />
<asp:TextBox runat="server" Text="Hello%" />
<asp:Button runat="server" Text="Postback" />
</form>
</body>
</html>
Jag vet att formuläret i exemplet inte behöver ha enctype="multipart/form-data", men i mitt riktiga scenario behövs det. Mängden text i hiddenfältet bör mångdubblas för att effekten ska bli tydligare.
Tack till alla som tog sig tid att läsa ända hit!