Разбор неподдерживаемой разметки страницы в JS без повторного запроса через XHR - PullRequest
0 голосов
/ 04 августа 2011

Я пишу некоторый код для поддержки заглушки для <source> элементов как дочерних элементов <track> как часть моего видео-субтитров / WebVTT polyfill Captionator .

К сожалению, разметка изначально создана так:

<video controls autobuffer autoplay loop id="videoTest" width="505" height="232">
    <source src="video/arduino.m4v" type="video/mp4" />
    <source src="video/arduino.webm" type="video/webm" />
    <source src="video/arduino.ogv" type="video/ogg" />

    <track kind="signlanguage" srclang="ja" label="Sign Language, Japanese">
        <source src="video/signlanguage.m4v" type="video/mp4" />
        <source src="video/signlanguage.webm" type="video/webm" />
        <source src="video/signlanguage.ogv" type="video/ogg" />
    </track>
</video>

... при анализе браузером видоизменяется в следующее:

<video controls autobuffer autoplay loop id="videoTest" width="505" height="232">
    <source src="video/arduino.m4v" type="video/mp4" />
    <source src="video/arduino.webm" type="video/webm" />
    <source src="video/arduino.ogv" type="video/ogg" />

    <track kind="signlanguage" srclang="ja" label="Sign Language, Japanese" />
    <source src="video/signlanguage.m4v" type="video/mp4" />
    <source src="video/signlanguage.webm" type="video/webm" />
    <source src="video/signlanguage.ogv" type="video/ogg" />
</video>

Поскольку внутреннее DOM-представление разметки в браузере сглажено, и теги <source> являются прямыми потомками видео, я больше не могу связывать их с рассматриваемым <track>.

Есть ли способ, которым я могу проанализировать исходную разметку, чтобы добавить поддержку синтаксиса, без необходимости выполнять избыточный XHR для извлечения всего источника страницы?

Заранее спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...