Я пытаюсь заменить каждое textNode
дерева DOM, используя следующую функцию:
//Replace each word objective with reposition in each control of the actual jQuery object
jQuery.fn.replaceEachOne = function (objective, reposition) {
var regExp = new RegExp('([\\s]'+objective+'[\\s])', "igm");
this.contents().each(function(){
if (this.nodeType == 3) {//if is a Node.TEXT_NODE, IE don't have Node object
//console.log("pName: "+this.parentNode.nodeName+" pType: "+this.parentNode.nodeType+" Data: " + this.parentNode.data);
if(this.data.search(regExp) != -1){
var temp = document.createElement("span");
temp.innerHTML = this.data.replace(regExp, reposition);
//Insert the new one
this.parentNode.insertBefore(temp, this);
// Remove original text-node:
this.parentNode.removeChild(this);
}
}
else{
$(this).replaceEachOne(objective, reposition);
}
});
}
Это работает, но выдает 20 таких ошибок (Google Chrome, IE не выдает):
Небезопасная попытка JavaScript для доступа к фрейму с URL-адресом http://cdn.apture.com/media/html/aptureLoadIframe.html?v=21872561 из фрейма с URL-адресом http://c -jfmunoz: 5000 / SitePages / Home.aspx .Домены, протоколы и порты должны совпадать.
Выполняя некоторую отладку, я смотрю, что это вызывает исключение при вставке текстового узла в веб-форму.
Я должен прикрепить этот JavaScriptна сайт Sharepoint 2010.При локальном просмотре Chrome не выдает исключение.
Как я могу это исправить?