أحاول كتابة كود Ajax (Javascript) لقراءة ملف RSS خاص بالمنتدى،
بعد البحث توصلت إلى الكود التالي
<html>
<Head>
<title>Rss Ajax</title>
<body>
<div id="RSSOutput"></div>
<script type="text/javascript">
function SendAjax(url, callbackFunction) {
if (window.XMLHttpRequest) {
var request = new XMLHttpRequest();
} else {
var request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.open("GET", url, false);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
if (request.responseText) {
ReceiveAjax(request.responseText, callbackFunction);
}
}
}
request.send(null);
}
function ReceiveAjax(response, callbackFunction) {
if (window.ActiveXObject) {
var doc = new ActiveXObject("Microsoft.XMLDOM");
doc.async = "false";
doc.loadXML(response);
} else {
var parser = new DOMParser();
var doc = parser.parseFromString(response,"text/xml");
}
callbackFunction(doc.documentElement);
}
function ValueFromTagName(item, tagname) {
var val = item.getElementsByTagName(tagname);
return val[0].firstChild.nodeValue;
}
function ParseData(data) {
var items = data.getElementsByTagName('item');
var output = '<ul>';
for (var i = 0; i < items.length; ++i) {
var title = ValueFromTagName(items, 'title');
var link = ValueFromTagName(items, 'link');
output += '<li><strong><a href ="' + link + '">' + title + '</strong> ' + '</li>';
}
output += '</ul>';
var RSSOutput = document.getElementById('RSSOutput');
RSSOutput.innerHTML = output;
}
function LoadFeed( url ) {
SendAjax(url, ParseData);
}
LoadFeed("/index.php?app=core&module=global§ion=rss&type=forums&id=2");
</script>
</Body>
</html>الكود يعمل بشكل جيد على ال Internet Explorer 8 و على سفاري 4 ولكن للأسف لا يعمل على كروم، و فايرفوكس!
حاولت البحث على الإنترنت و لم أفهم شيئا :(
أعتقد أن المشكلة تحوم حول هذا الكود، ولها علاقة بصلاحيات الوصول أو شيئ من هذا القبيل!:
if (window.XMLHttpRequest) {
var request = new XMLHttpRequest();
} else {
var request = new ActiveXObject("Microsoft.XMLHTTP");
}أرجو المساعدة، الهدف أن يعمل على Chrome على الأقل.






