?

Log in

Previous Entry | Next Entry

Года этак два назад понадобилось мне для одного проектика работать с XPath выражениями на клиенте. Т.е. в JavaScript. Но к большому сожалению оказалось, что возможности работать с XPath на клиенте кроссбраузерно нет! Я не говорю про нативную поддежку на уровне движка JS, не было даже библиотек для этого.

Но проекти отложился, отложилась и шлифовка библиотеки. Копаясь в старых архивах всполнил про неё и решил посмотреть, что же изменилось за это время? Оказалось, что в этом году была создана очень даже, судя по заявленному функционалу, хорошая библиотека именно для это цели. Поэтому всем, кому данная тема интересна советую посмотреть на JavaScript-XPath . Самое главное, что есть быстрый онлайн тест JavaScript-XPath Functional Test .

Первичные опыты показали, что библиотека действительно стоящая. Всем, кто пишет для клиентской стороны ознакомление обязательно ;)

Comments

( 3 comments — Leave a comment )
se_la_vy
Jul. 23rd, 2009 09:52 am (UTC)
Вообще, сейчас уже практически прошло время написания сторонних XPath-библиотек. Есть стандарт от W3C - Document Object Model (DOM) Level 3 XPath Specification Version 1.0 и на сегодняшний момент библиотека "JavaScript-XPath", на которую вы приводите ссылку, реализует именно эту спецификацию. Но вот Mozilla, например, уже заявляет, что поддерживает её в FF напрямую, хотя я не тестировал. Так что, единственное, для чего, на мой взгляд, сейчас имеет смысл использовать данную либу - для браузеров, которые не поддерживают этой спецификации, вставляя её как пач для них. Эта логика может быть реализована как на стороне сервера, так и на стороне клиента (подтягиванием её из JS с помощью XMLHttpRequest и вставкой через "eval").
alekciy
Jul. 23rd, 2009 01:49 pm (UTC)
В либе, как я понимаю, есть механизм определения нативного поддержания XPath, так что для таких браузеров либа использует нативную поддежку.

И время таких сторонних либ еще не прошло, это как раз как нельзя более актуально. Ибо статанрту по веб меркал лет уже дохрена, а браузерный воз и ныне там.
se_la_vy
Jul. 25th, 2009 05:54 am (UTC)
Это хорошо, но не очень понятно, что значит "для таких браузеров либа использует нативную поддежку" - по идее она в таких браузерах просто не должна выполняться в принципе. Она в них вообще не нужна. Но даже если она так и реализована, что понимает, что не нужна и тогда не выполняется, встаёт вопрос оптимизации траффика - зачем её тогда вообще грузить клиенту? Она, ведь, в общем-то, не маленькая даже в оптимизированном виде.
По-этому, как я и сказал, здесь, на мой взгляд, оптимальнее использовать тот подход, что это - пач. Т.е. самим делать проверку в своём JS-коде на реализованность спеки от W3C и, если её нет - подгружать и выполнять данную либу, если нет - не подгружать, а идти дальше.
( 3 comments — Leave a comment )

Profile

ru_codenet
Сообщество форума Codenet.RU
Форум Codenet.RU

Latest Month

May 2011
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
Powered by LiveJournal.com
Designed by Tiffany Chow