2 years ago
#30530

Chewie The Chorkie
querySelectorAll working find in JSFiddle, but receive "The string did not match the expected pattern" as injected code
I have a JSFiddle that matches any element that has the "background-color" style attribute. When I use it as an injected script inside a Safari Extension on Wikipedia, I get the error "The string did not match the expected pattern", and I cannot continue the script beyond this point. Why would this happen?
var possibilities = ['[style*="background-color"],[style*="background-color"]'],
searchFor = /\bbackground-color/,
cssProp = 'background-color',
styles = document.styleSheets,
i, j, l, rules, rule, elem, res = [];
for (i=0; i<styles.length; i++) {
rules = styles[i].cssRules;
l = rules.length;
for (j=0; j<l; j++) {
rule = rules[j];
if (searchFor.test(rule.cssText)) {
possibilities.push(rule.selectorText);
}
}
}
possibilities = possibilities.join(',');
possibilities = document.querySelectorAll(possibilities); // "The string did not match the expected pattern" ERROR
l = possibilities.length;
for (i=0; i<l; i++) {
elem = possibilities[i];
res.push(elem);
}
alert(res.length + ' matches!');
javascript
safari
browser-extension
selectors-api
0 Answers
Your Answer