Member 12409011 Ответов: 1

Javascript не работает в браузере safari.


у меня есть сайт GroceriesToGoAruba.com этот сайт хорошо работает в IE, Chrome, Firefox, но не очень хорошо работает в браузере safari. У меня есть одна страница picktime.aspx на этой странице отображаются даты доставки, чтобы выбрать дату доставки для размещенного заказа. но иногда даты доставки не отображаются на этой странице, когда я использую браузер safari.
ниже приведен мой код
picktime.aspx-файл
<pre><%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
    CodeBehind="Picktime.aspx.cs" Inherits="NewFoodStore2Go.Picktime" %>

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    <script src="Scripts/UserInterface/PickTime.js" type="text/javascript"></script>

    <style type="text/css">
        .PicktimePadding2 {
            padding-left: 100px;
        }

        @media (max-width:480px) {
            .PicktimePadding2 {
                padding-left: 10px;
            }
        }
    </style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
            <td align="center">
                <table cellpadding="0" cellspacing="0" border="0" width="80%" style="padding-left: 10px;">
                    <tr>
                        <td height="20px"></td>
                    </tr>
                    <tr>
                        <td align="left" class="formHeading">
                            <h3>Pick Your Delivery Time</h3>
                        </td>
                    </tr>
                    <tr>
                        <td height="10px"></td>
                    </tr>
                    <tr>
                        <td>
                            <div style="float: left;">
                                <img src="images/checkout_2.gif" alt="confirm delivery address" width="135" height="37"
                                    border="0" />
                            </div>
                            <div style="float: left;">
                                <img src="images/checkout_1c.gif" alt="pick a delivery time" width="122" height="37" border="0" />
                            </div>
                            <div style="float: left;">
                                <img src="images/checkout_3b.gif" alt="tip the delivery driver" width="131" height="37" border="0" />
                            </div>
                            <div style="float: left;">
                                <img src="images/checkout_4b.gif" alt="payment method" width="109" height="37" border="0" />
                            </div>
                            <div style="float: left;">
                                <img src="images/checkout_5b.gif" alt="complete order" width="103" height="37" border="0" />
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td height="20px"></td>
                    </tr>
                    <tr>
                        <td class="formTextUSer">Please choose a delivery time below from the next upcoming delivery dates:
                        </td>
                    </tr>
                    <tr>
                        <td height="10px"></td>
                    </tr>
                    <tr>
                        <td class="PicktimePadding2">
                            <asp:Label ID="lblMsg" runat="server" CssClass="ErrorTxt1" Visible="false"></asp:Label>
                        </td>
                    </tr>
                    <tr>
                        <td height="10px"></td>
                    </tr>
                    <tr>
                        <td class="PicktimePadding2" valign="top" align="center">
                            <div id="pnlDeldate">
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td class="formTextUSer" align="center">Or, choose from another future delivery date:
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <table cellspacing="0" border="0" class="formTextUSer">
                                <tr>
                                    <td>Date:
                                    </td>
                                    <td>
                                        <div id="jqxdateselect"></div>
                                    </td>
                                </tr>
                                <tr>
                                    <td height="10px"> 
                                    </td>
                                </tr>

                                <tr id="divtime" style="display: none">
                                    <div>
                                        <td>Time:
                                        </td>
                                        <td>
                                            <div id="jqxTimeSelect">
                                                <select class="DropDownBox">
                                                    <option value="select"></option>
                                                </select>
                                            </div>
                                        </td>
                                    </div>
                                </tr>

                            </table>
                        </td>
                    </tr>
                    <tr>
                        <td height="10px"> 
                        </td>
                    </tr>
                    <tr>
                        <td style="padding-left: 20%;">
                            <input type="button" id="btnChoose" value="Choose Date/Time" class="buttonUser" onclick="SelectedandSubmit()" />
                        </td>
                    </tr>
                    <tr>
                        <td height="65px"> 
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
    <script type="text/javascript">

        $(document).ready(function () {
            CheckCookie();
            CheckSession(DisplayZipCodes);
            CheckSession(LoadAllDates);
        });
    </script>
</asp:Content>

это мой JS код
функция CreateList(timedata) {
ВАР picktimetable = '
';

if (timedata. length > 0) {
var date = новая дата(timedata[0] ["Дата"]);
var test = timedata[0] ["Дата"];
var test2 = test. split(/[^0-9]/);
var date2 = новая дата(test2[0], test2[1] - 1, test2[2]);
picktimetable += ";
picktimetable += '
';
picktimetable += " + день недели[дата2.getDay()] + ', ' + месяц[дата2.getMonth()] + '' + дата2.функции getdate() + ', ' + дата2.getFullYear();
picktimetable += '
';
для (ВАР я = 0; Я &л; timedata.длина; я++) {
picktimetable += ";
}
picktimetable += '
';
picktimetable + = " + timedata[i] ["Time"] + ";
picktimetable += '
';
}

picktimetable += '
';
DisplayAllList(picktimetable);
}
функция LoadAllDates() {
ServiceCall('Вам', 'PickTime/GetDeliveryDates/?идентификатор locationId=' + метода getquery('Лок') + '&амп;идентификатор пользователя=' + имя пользователя + '&амп;recordcount=0', нуль, onsuccess процедуры);
функция onSuccess(данные) {
если (данные) {
var select = $(");
select. attr ('class', 'DropDownBox');
select. attr ('id', 'drpfuturedate');
select. attr ('onclick', ' TimeForSelectedDate()');
выберите.буква attr('onChange, после чего', 'TimeForSelectedDate()');

ВАР параметр1 = $(");
option1. attr ('value', " 0");
Вариант 1. Добавить ("выбрать ");
выберите.добавить(Вариант1);

for (var key in data) {
var option = $(");
option. attr ('value', data[key] ["DeliveryDateID"]);
var dt = новая дата (data[key] ["Date"]);

test = data[key] ["дата"];
условие_1 = тест.сплит(/[^0-9]/);
test2 = новая дата(test1[0], test1[1] - 1, test1[2]);
//вариант.добавить(месяц[ДТ.getMonth()] + '' + ДТ.функции getdate() + ', ' + ДТ.getFullYear());
вариант.добавить(месяц[test2 на.getMonth()] + '' + test2 на.функции getdate() + ', ' + test2 на.getFullYear());
select. append(опция);
}
$('#jqxdateselect'). append (select);
}
}
}

//Оригинальный код
функция TimeForSelectedDate() {
var LocationId = getQuery ('Loc');
dateID = $('#drpfuturedate option:selected'). val();

ServiceCall('Вам', 'PickTime/GetTimeOnDeliveryDate/?идентификатор locationId=' + идентификатор locationId + '&амп;deliverydateid=' + dateID, нуль, onsuccess процедуры);
функция onSuccess(данные) {
$('#divtime'). показать();
если (данные) {
var select = $(");
select. attr ('class', 'DropDownBox');
select. attr ('id', 'drpfuturetime');

ВАР параметр1 = $(");
option1. attr ('value', " 0");
Вариант 1. Добавить ("выбрать ");
выберите.добавить(Вариант1);

for (var key in data) {
var option = $(");
option. attr ('value', data[key] ["DeliverytimeID"]);
вариант.добавить(данные[ключ]["время"]);
select. append(опция);
}
$('#jqxTimeSelect'). html (select);
}
}
}
функция SelectedandSubmit() {
var value = $('input[name=timeselection]: radio:checked'). val();
ВАР производительность;
Варе срок поставки;
if (value = = undefined) {
var drpdatevalue = $('#drpfuturedate option:selected'). val();
var drptimevalue = $('#drpfuturetime option: selected'). val();
if (drpdatevalue == 0) {
MessageBox ("пожалуйста, заполните поля * Mark", "Пожалуйста, выберите дату и время доставки", 170, 400);
вернуть;
}
if (drptimevalue == 0) {
MessageBox ("Пожалуйста, Заполните Поля * Mark", "Пожалуйста, Выберите Время Доставки", 170, 400);
вернуть;
}
deliverydate = $('#drpfuturedate option: selected'). text();
deliverytime = $('#drpfuturetime option: selected'). text();
}
еще {
ВАР типа datetime = $('введите[имя=timeselection]:радио:проверено').функция val().сплит(',');
производительность = датавремя[0];
deliverytime = datetime[1];
}

// ---Создаем PickTime Печенья
ВАР dataString = '||производительность=' + производительность + '||срок поставки=' + срок поставки;
createCookie ('PickTime', dataString. substring(2), 30);
окно.location = 'tipping. aspx';
}
это мой главный код страницы
%@ Мастер языка="в C#" AutoEventWireup значение="истинной" отделенного кода="сайт.Мастер.КС" наследует="NewFoodStore2Go.SiteMaster" %&ГТ;

<!Элемент DOCTYPE в HTML общественности "-//W3C для//определения DTD XHTML 1.0 переходный//ванной" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&ГТ;
<meta charset= "utf-8" />
в <мета НТТР-экв="х-УА-совместимый" содержание="т. е.=края" /&ГТ;
в <мета имя="область просмотра" содержимого="ширина=устройство-ширина, начально-масштаб=1" /&ГТ;
в <мета имя="область просмотра" содержимого="ширина=устройство-ширина, начально-масштаб=1, максимальная-масштаб=1, пользователь-масштабируемое=нет" /&ГТ;
< meta http-equiv=" Content-Type "content=" text / html; charset=UTF-8" />
в <мета имя="область просмотра" содержимого="ширина=устройство-ширина" /&ГТ;

< meta name="description" content="GroceriesToGo Aruba. Закажите онлайн, и мы доставим продукты и предметы первой необходимости прямо к вам, где бы и когда бы вы ни находились!";
<!-- Вышеперечисленные 3 мета-тега *должны * быть первыми в голове; любое другое содержание головы должно быть * после * этих тегов -->
< title & gt;GroceriesToGo Aruba
<!-- Bootstrap -->
<!-- HTML5 shim и Respond.js для IE8 поддержка элементов HTML5 и медиа-запросов -->
<!-- Предупреждение: Respond.js не работает, если вы просматриваете страницу через Файл: / / -->
<!--[if lt IE 9]>
<![endif]-->
<!-- jQuery (необходим для плагинов JavaScript Bootstrap) -->
&ЛТ;!----&ГТ;
<!-- Включить все скомпилированные Плагины (ниже) или включить отдельные файлы по мере необходимости -->

Что я уже пробовал:

Я попытался отладить код, но в локальной машине он не дает никаких ошибок.

1 Ответов

Рейтинг:
1

KarstenK

удалить все содержимое, которое мочь вызывайте erros и добавляйте части than, пока не найдете код, который safari не нравится. Часто бывает полезно какое-то консольное ведение журнала.

Вот некоторые из них советы от службы поддержки Apple. Назовите конкретные ошибки в консоли браузера. Попробуйте погуглить их. Если вы говорите, что иногда это работает, то это часто проблема кэша или перезагрузки DOM.