Nano Hash - криптовалюты, майнинг, программирование

Google Chrome и потоковые HTTP-соединения?

Google Chrome не ведет себя так же, как другие браузеры, когда сталкивается с этим самородком:

<?php
while (true) {
    echo "<script type='text/javascript'>\n";
    echo "alert('hello');\n";
    echo "</script>";
    flush();

    sleep(5);
}
?>

Кажется, что он ждет завершения соединения, прежде чем что-либо делать.

Помимо опроса, как я могу сделать то же самое в Google Chrome?


  • Вы пробовали последнюю сборку хрома, которая проходит тесты acid3 на 100/100? en.wikipedia.org/wiki/Acid3 03.01.2009

Ответы:


1

Некоторые браузеры требуют загрузки определенного количества байтов перед отображением доступных данных. Я помню, когда в последний раз я пытался сделать то, что делаете вы, мне пришлось выгрузить что-то вроде 300 пробелов, чтобы браузер не беспокоился об этом.

26.10.2008
  • Я знаю, что IE делает это, но сколько Chrome требует? 28.11.2010

  • 2

    У меня была аналогичная проблема, и я решил ее, добавив тег HTML (в моем случае ‹br />) перед каждым сбросом.

    Я предполагаю, что Chrome ожидает закрытия отображаемого элемента, прежде чем запускать повторную визуализацию. Хотя это только предположение.

    Казалось, что для этого не требуется 1024 байта — я думаю, у меня было бы чуть меньше 512 байт, когда это работало.

    24.09.2009

    3

    Хотел бы я сейчас иметь доступ к Chrome, чтобы проверить некоторые идеи. Пробовали ли вы добавить HTML-код после </script> и посмотреть, будет ли он отображаться постепенно? Я предполагаю, что это так, и если это так, это будет доказательством того, что Chrome не хочет запускать javascript в <script> элементах во время загрузки страницы. Конечно, рендеринг разметки может привести к запуску ваших скриптов. Если нет, вы можете попробовать включить javascript в качестве внешних файлов и посмотреть, повлияет ли это на время выполнения.

    Я думаю, что у браузеров обычно есть некоторая свобода действий в соответствии со спецификацией, когда они начинают выполнять javascript, особенно при загрузке страницы. Это может быть невозможно сделать полностью кросс-браузерным способом без опроса.

    26.10.2008

    4

    Общались ли вы с разработчиками Chrome? Вы открыли ошибку по этому поводу? ИМХО, лучшее решение — заставить Chrome вести себя как другие браузеры, а не использовать обходной путь.

    Хорошо, на самом деле вам, вероятно, понадобится краткосрочный обходной путь. Но представьте себе мир, в котором каждый браузер ведет себя по-разному в каждом аспекте, скажем, при обработке HTTP, HTML, CSS... это было бы не очень приятно!

    26.10.2008
  • Как и в современном мире, где каждый браузер идет своим путем в таких случаях. 26.10.2008

  • 5

    Стрим работает. Ответ от безвековости – это решение.

    напечатать "2048 баллов[BR>\n";

    [ = ‹

    Кстати, посмотрите на пользовательский агент. Safari тоже нужно много байтов. Я думаю 1024. Firefox нужно не так много байт.

    25.11.2008

    6
    <?php
    $i = 0;
    while (true) {
        if($i == 0) {
            echo "<html><body>";
        }
        echo "<script type='text/javascript'>\n";
            echo "alert('hello');\n";
        echo "</script>";
        if($i == 0 ) {
            $padstr = str_pad("",2048,"&nbsp;");
            echo $padstr;
            echo "</body></html>";
        }
        flush();
    
        sleep(5);
        $i = $i + 1;
    }
    ?>
    

    В первый раз отправьте не менее 2048 байт данных. тогда он будет работать нормально. И не забудьте сохранить тег script в теге body. Странно то, что в моем случае, если я добавлю 1024 байта, это сработает. Надеюсь, это поможет вам

    Вышеупомянутая программа отлично работает в Google Chrome.

    28.04.2009
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..