SYNTAX_ERR: DOM Exception 12 - Hmmm
SYNTAX_ERR: DOM Exception 12 - Hmmm
我一直在为一个使用HTML5 Rock的slideshow代码的客户端制作一个小型幻灯片/公共显示。我遇到了一个DOM异常12 -一个语法错误,据说是与CSS选择器有关-而猴子周围与它…但我无法追溯到我对代码所做的任何更改。我想这可能是我添加功能时没有发现的东西。
我已经追踪到这个对象(实时版本在这里):
var SlideShow = function(slides) {
this._slides = (slides || []).map(function(el, idx) {
return new Slide(el, idx);
});
var h = window.location.hash;
try {
this.current = h;
} catch (e) { /* squeltch */ }
this.current = (!this.current) ? "landing-slide" : this.current.replace('#', '');
if (!query('#' + this.current)) {
// if this happens is very likely that someone is coming from
// a link with the old permalink format, i.e. #slide24
alert('The format of the permalinks have recently changed. If you are coming ' +
'here from an old external link it''s very likely you will land to the wrong slide');
this.current = "landing-slide";
}
var _t = this;
doc.addEventListener('keydown',
function(e) { _t.handleKeys(e); }, false);
doc.addEventListener('touchstart',
function(e) { _t.handleTouchStart(e); }, false);
doc.addEventListener('touchend',
function(e) { _t.handleTouchEnd(e); }, false);
window.addEventListener('popstate',
function(e) { if (e.state) { _t.go(e.state, true); } }, false);
};
SlideShow()
的实例化(main.js中的第521行):
var slideshow = new SlideShow(queryAll('.slide'));
调用queryAll('.slide')
返回一个包含.slide
类的所有幻灯片的数组。然而,当传递queryAll('.slide')
作为实例化SlideShow()
的参数时,它返回DOM Exception 12
错误。
有人见过这个吗?
你在文档中使用了非法的id属性(在HTML5之前是非法的),例如2-slide
。修复它们。
来解释:为了解决element.querySelectorAll()
的已知的错误行为,选择器.slide
将在内部重写(通过使用元素的id)。这将导致如下结果:
#2-slide .moreselectors
…并强制错误,因为ID不能以数字开头。
查看小提琴:http://jsfiddle.net/doktormolle/FGWhk/
如果你在HTML5岩石幻灯片中搜索了这个错误后来到这里:
出于某种原因,他们删除了'to-build'类,并使用以下命令:
toBuild[0].classList.remove('to-build', '');
这破坏了所有的幻灯片使用构建,甚至谷歌演示现在是坏的
只需将default.js的220行更改为
toBuild[0].classList.remove('to-build');
一切都好!
在我的情况下,它是使用self.postMessage(e.data);在主线程中使用web worker。
我知道这与OP的问题无关,但这是一个奇怪的错误,所以我把它留在这里,希望它能帮助别人。
同样的问题,但在我的情况下,尝试从他们的属性
获取元素document.querySelectorAll('input[name="path"]')
和SYNTAX_ERR: DOM Exception 12只在Safari上发生。所以我把它改成直接从类中获取元素,现在工作得很好。
你可以像在applescript中那样转义引号,那么在safari中就没有问题了
do JavaScript "document.querySelector('span[" & attrName & "='"" & attrValue & "'"]').click();"
- Angular Hot毛巾 'blocks.exception' 和 'blocks.router' 不会在浏览器中显示
- RTCMultiConnection exception on connection.addStream()
- Ajax jquery exception
- Jasmine javaScript exception
- jQuery Ajax exception catcher
- TypeError (null reference exception) when using dom-construc
- $("*") with exception?
- 在 werkzeug-exception 上设置标头
- chrome.tabs.query status:loading -> exception?
- Running Java from Nashron JavaScript - Exception java.lang.C
- GWT, NoSuchElement exception
- Applet java.io.FilePermission exception
- PhoneGap iOS + DOM Exception 18
- Google Chrome NETWORL_ERR: XMLHttpRequest Exception 101
- Exception ClientScript.RegisterStartup on按钮单击
- 错误:未捕获的异常:[exception.."字符串包含一个..quot;
- Javascript: InvalidStateError:DOM Exception 11
- DOM Exception 18 getImageData
- jQuery mobile - DOM Exception 18
- SYNTAX_ERR: DOM Exception 12 - Hmmm