AJAX ile sayfaları yükleyen ve diğer eklentiler ve "widget'lar" ile uyumluluk sağlamak için bir WordPress eklentim var.Satır içi JavaScript'i dinamik olarak kumlamak için en iyi yöntem nedir?
function do_JS(e){
var Reg = '(?:<script.*?>)((\n|.)*?)(?:</script>)';
var match = new RegExp(Reg, 'img');
var scripts = e.innerHTML.match(match);
var doc = document.write;
document.write = function(p){ e.innerHTML = e.innerHTML.replace(scripts[s],p)};
if(scripts) {
for(var s = 0; s < scripts.length; s++) {
var js = '';
var match = new RegExp(Reg, 'im');
js = scripts[s].match(match)[1];
js = js.replace('<!--','');
js = js.replace('-->','');
eval('try{'+js+'}catch(e){}');
}
}
document.write = doc;
}
yüzden daha iyi js biraz sandbox edebilmek istiyorum:
Şu an itibariyle ben içerik blokları güncellenmesi içinde olan tüm satır içi JS değerlendirmek için aşağıdaki kodu kullanabilirsiniz çatışma riski en aza indirilmiştir. Tek bir fikir, dinamik olarak bir oluşturmak ve onun içinde JS'yi çalıştırmaktı, ancak hem uyumluluk sağlamak hem de güvenliği artırmak için biraz daha iyi bir yöntem olduğunu umuyordum. http://en.wikipedia.org/wiki/Caja_project
Ne yazık ki, bu eklenti hiç kontrol etmediğim yüzlerce sitede çalışıyor, bu yüzden JS parçacıklarını Caja'dan myspace gibi bir site gibi çalıştıramıyorum. Çözümün yeniden dağıtılabilir olması gerekiyor. –