Почему Perl CGI :: cookie может устанавливать cookie в IE, но не в Firefox?

У меня есть немного кода Perl CGI, который я использую m пытается запустить в веб-пространстве проекта учетной записи SourceForge. Код может легко установить cookie браузера при разговоре с IE, но cookie не устанавливается , а не при разговоре с Firefox. Когда я тестирую Apache на "localhost", оба браузера работают нормально. Firefox разбирается только с удаленным URL SourceForge.

Поиск обнаружил десятки рядом с -дупликативных вопросов, но обычно у людей возникает прямо противоположная проблема! (Firefox в порядке, а у IE проблемы)

Вот вспомогательная утилита, которую я вызываю для установки файлов cookie:

sub setCookie {
    my $name = shift;
    my $value = shift;
    my $expires = shift;
    my $path = shift;
    my $domain = shift;
    if( !defined( $expires ) ) {
        $expires = '+4h';
    }
    if( !defined( $path ) ) {
        $path = '/';
    }
    if( !defined( $domain ) ) {
        $domain = 'steveperkins.sourceforge.net';
    }
    my $cookie = CGI::cookie(
        -name    => $name,
        -value   => $value,
        -domain   => $domain,
        -expies => $expires,
        -path    => $path
    );
    $r->header_out('Set-cookie' => $cookie);
}

Есть идеи? Моей первой мыслью была какая-то проблема с субдоменом, потому что в URL моего проекта SourceForge есть субдомен, а у localhost - нет. Я экспериментировал с настройкой домена cookie для моего конкретного субдомена или только для базового " Постараюсь четко объяснить свой вопрос. Имя цели раскадровки, если оно равно «ItemBorder» (закомментированная строка), работает с перерывами. Иногда я получаю сообщение об ошибке, что имя «ItemBorder» не может быть найдено в области видимости.

Я решил следовать стилю из примера этого MSDN и изменить свойство цвета непосредственно на кисти, вместо того, чтобы иметь цель раскадровка будет границей, а цвет кисти границы изменится в зависимости от свойства (закомментированная строка). Кажется, это работает.

Однако Name = "ItemBorderBrush" не компилируется, потому что Name не является свойством SolidColorBrush , поэтому я использую x: Name = " ItemBorderBrush " Оба Name и x: Name принимаются для границы. Почему это?

Что означает x: (чем x: Name отличается от Name ]) и почему бы иметь Имя свойство границы иногда работает только с раскадровкой?

5
задан xdumaine 26 October 2010 в 15:29
поделиться