1

これは私たちのウェブサイトを壊している非常に独特な問題です。Google Chromeには、誤って次のように見える単一の事前終了タグがあります:の代わりに/pre>。ソースコードの288行目くらいで見ることができます。

このWebサイトは、コードを変更せずに1年間稼働しており、最近、未知の力によって破壊されました(常にそうではありませんか?)が、GoogleChromeブラウザーでのみです。ウェブサイトは当時の最新バージョンのChromeで徹底的にテストされ、膨らみましたが、現在のGoogle Chromeだけでなく、過去のGoogle Chromeバージョンでもウェブサイトが壊れています(Chromeのバグはほとんどありません)。このページはサーバー上でPHPv5.3.8によって解析されており、特定のマークアップは単純でロジックのないコードから取得されます。

    $markup = '';

    foreach($albums AS $album) {
        foreach ($album->videos AS $video) {
            $markup .= '
                    <pre class="video '.$video->id.'">'.$video->url.'</pre>';
        }
    }

    return $markup;

返される前に$markupをエコーし​​、$ markupを返す前にスクリプトを終了すると、Chromeでは、最後の行(288行目と同じマークアップ)に不正な形式の事前終了タグが表示されます。

                    <pre class="video Woman_v_Workout-FDNY_Training">http://player.vimeo.com/video/41377883</pre>
                    <pre class="video 30_Second_Fitness_Intro-2812">http://player.vimeo.com/video/36457857</pre>
                    <pre class="video Off_the_Beaten_Palate-FoodTravel_Show">http://player.vimeo.com/video/13491373</pre>
                    <pre class="video Make_Up_For_Ever-Blush_Product_Demo">http://player.vimeo.com/video/16980727</pre>
                    <pre class="video Karlssons_Vodka">http://player.vimeo.com/video/34921497</pre>
                    <pre class="video Sage_Spoonfuls">http://player.vimeo.com/video/25146823</pre>
                    <pre class="video iPhone_App_Commercial">http://player.vimeo.com/video/17769191</pre>
                    <pre class="video A_Taste_of_North_Vietnam">http://player.vimeo.com/video/44951293</pre>
                    <pre class="video Aid_for_AIDS_Commercial">http://player.vimeo.com/video/23805118</pre>
                    <pre class="video YPO-WPO_NE_Regional_Conference-31212">http://player.vimeo.com/video/38386105</pre>
                    <pre class="video LonelyGirl48">http://player.vimeo.com/video/13659996</pre>
                    <pre class="video Malibu_Rum-Stickies">http://player.vimeo.com/video/16980262/pre> 

ただし、行をエコーすると、問題のある行が期待どおりに出力されます。

ウェブサイトはここにあります:http ://www.oneglassproductions.com すべてのアイデアに感謝します。同じコードベースが他のサーバーで適切に機能するため、本番サイトでそれをいじくり回します。PHP構成?

編集:マーティンのおかげで、プレクロージングタグの直前にスペースを追加すると、クロージングタグが正しく印刷され、スペースなしでコードを元に戻した今でも、クロージングタグは正しく印刷されています(コードは問題を見たとき)。それでも何が起こっているのか知りたいです。

4

0 に答える 0