Мой коллега и я использовали сценарий из https://github.com/tombigel/detect-zoom . Кроме того, мы также динамически создаем элемент svg и проверяем его свойство currentScale. Он отлично работает на Chrome и, вероятно, в большинстве браузеров. В FF функция «только масштабировать текст» должна быть отключена. SVG поддерживается в большинстве браузеров . На момент написания этой статьи были протестированы на IE10, FF19 и Chrome28.
var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
svg.setAttribute('version', '1.1');
document.body.appendChild(svg);
var z = svg.currentScale;
... more code ...
document.body.removeChild(svg);
Вы можете использовать xsd:any
:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.0">
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:any processContents="skip" namespace="##any"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Обратите особое внимание на возможные значения для processContent
:
Решение для меня было:
<xs:complexType name="dataType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:anyAttribute processContents="skip"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
Ошибка моей IDE (PHPStorm) с
blockquote>xs:any
, ноxs:anyAttribute
поддерживается