Обязательно: это взломать: CSS не подходит для этого, но в некоторых ситуациях - например, у вас есть сторонняя библиотека в iframe, которую можно настроить только с помощью CSS - такой взлом единственный вариант.
Вы можете заменить текст через CSS. Давайте заменим зеленую кнопку «hello» красной кнопкой, которая говорит «до свидания», используя CSS. Смотрите http://jsfiddle.net/ZBj2m/274/ для живой демонстрации:
Вот наша зеленая кнопка:
button {
background-color: green;
color: black;
padding: 5px;
}
Теперь давайте спрячемся исходный элемент, но потом добавьте еще один элемент блока:
button {
visibility: hidden;
}
button:after {
content:'goodbye';
visibility: visible;
display: block;
position: absolute;
background-color: red;
padding: 5px;
top: 2px;
}
Примечание:
visibility
. Примечание display: none
на исходном элементе не работает. Таким образом, JSON (о котором можно думать подмножества JavaScript) намного более минимизирован, чем XML. Это имеет несколько положительных побочных эффектов
->
более легкий парсинг (быстрее анализирующий) В моем исходном ответе на этот вопрос, мое представление JSON было представлением JavaScript, я полагал, что это было близким родственником. Но JSON является чем-то независимым и , JSON.org делает отличную работу по описанию JSON. Это, также обеспечивает библиотеку совместимости для JavaScript, который добавляет поддержку JSON.parse
и JSON.stringify
при отсутствии поддержки браузерами.
, В то время как eval
в то время (середина 2009) использовался для оценки JavaScript, он мог также оценить JSON, т.е. проанализировать JSON, но это считали небезопасным, поскольку он действительно позволял произвольному JavaScript выполняться в его земельном участке.
JSON просто, оказывается, очень подходящий вариант для браузеров и естественного способа развить платформу из-за ее тесной связи с JavaScript.
, В то время как XML, как могли бы полагать, имел бы лучшую суровость вследствие того, что можно ввести его, также, те вещи делают его намного медленнее (это является также немного подробным, по-моему). Но если это - что-то, что Вы действительно хотите, необходимо использовать его, XML одинаково повсеместен.
я не войду в дебаты по динамическому или со статическим контролем типов, но я скажу это. Действительно легко добавить материал сверху данных без схем и существует много способов сделать проверку, независимо от схемы или никакой схемы.
Одно преимущество XML, я не видел sofar в обсуждении, состоит в том, что XML может иметь схему. Это имеет большую ценность в описании структуры XML. Для простой структуры данных JSON и небольшого количества текста, описывающего, то, что Вы делаете, прекрасно. Когда работа с более сложными структурами данных, или когда создатель и потребители данных не являются той же командой, имея Схему, может помочь коммуникации много.
кроме того, имея схему означает, что можно проверить данные, которые могут быть жизненным сохранением при попытке отладить complexe ошибки...
Одно преимущество XML, который не был упомянут еще, состоит в том, что возможно использовать XSLT для извлечения данных из XML-документа, использующего произвольно сложные выражения XPath. Я не вижу способ сделать это в JSON. Как Вы нашли бы все объекты в документе JSON, которые содержат поле "валюты" как прямого потомка, независимо от того, где объекты происходят в структуре? В XML с XSLT/XPath это очень легко.
Однако выполнение этого в браузере происходит в цену. Вы столкнетесь с определенными для браузера причудами, и это, вероятно, будет медленнее и более интенсивно использующим память.
Ссылка dirkgently обеспечивает, имеет хорошее резюме различий (прокрутите к нижней части). Важные моменты:
JSON: меньший, может представить все unicode символы (xml, не может в UTF8, по крайней мере, его собственной спецификацией). Его также тривиальный для использования его в приложениях Ajax (из-за оценки JavaScript () функция), особенно больше расширенных функций как jsonp (ответы вызывают обратные вызовы).
XML: Имеет много инструментов для создания запросов его структуры легкими. Начиная с ее более старого и более установленного, это также имеет больше поддержки инструмента в целом.
В целом, они могут выполнить то же самое (Вы могли сделать jsonp через xml, он просто потребует вручную парсингу обратного вызова).
В то время как я люблю Json и рекомендовал бы это, я думаю, что нет никакого принципиального различия между оптимальной скоростью обработки. Различия между библиотеками и платформами являются более значительными: хороший xml синтаксический анализатор быстрее, чем плохой json синтаксический анализатор и наоборот. Таким образом, обычно производительность самих форматов не является большим фактором. Оба могут освещать быстро (Java имеет несколько хороших синтаксических анализаторов для обоих, например, другие языки problably также).
относительно компактности, которая зависит от типа данных, Json часто является более компактным битом, но не радикально так. Кроме того, если у Вас есть много массивов/списков, где json нотация "{...}" Намного более компактно, чем xml, отмечающий (если Вы не используете пробел, если это возможно, как "1 2 3 4").
Вы имеете в этой статье" ответ Ajax: XML, HTML или JSON? " полные дебаты по той теме:
Преимущества XML
Преимущества JSON
<script>
тег. См. пример Simon Willison для окровавленных деталей. Из комментариев, JSON считают быстрее для обработки, чем XML.
Можно хотеть читать JSON: Обезжиренная Альтернатива XML. С JSON можно дурачиться с обратными вызовами туда и сюда между источником и местом назначения запроса и на самом деле использовать его безболезненно в существующем коде JavaScript.