• 19-10-2009, 23:51:39
    #1
    Merhaba arkadaşlar,
    Ajaxda sayfa include etmek maksadıyla " Ajaxlibrary.js " adında js kullanıyorum
    Fakat sorun şudur ki, Firefox'da sorunsuz çalışmasına rağmen; Internet Explorerda

     İleti: 'uA' tanımsız
     Satır: 418
     Karakter: 1
    ==========================================

    Böyle bir uyarı penceresiyle birlikte hata alıyorum, tabi bu sayfa içerisindeki tüm bu " uA " tanımlamalarıyla birlikte.
    İlgili JS Dosyası
    var uA = new myLibrary();
    function myLibrary() { this.ajax = ajax }
    function ajax(data, method, url, divid){
    document.getElementById(divid).innerHTML='<p><center><img src="ajaxtabs/loading.gif" /></p></center><p></p>'
    var page_request = false
    if (window.XMLHttpRequest)
    page_request = new XMLHttpRequest()
    else if (window.ActiveXObject){
    try {
    page_request = new ActiveXObject("Msxml2.XMLHTTP")
    } 
    catch (e){
    try{
    page_request = new ActiveXObject("Microsoft.XMLHTTP")
    }
    catch (e){}
    }
    }
    else
    return false
    page_request.onreadystatechange=function(){
    loadpage(page_request, divid)
    }
    if (method == 'GET') {var url = url +'?'+ data}
    page_request.open(method, url, true)
    page_request.setRequestHeader("Cache-Control", "no-cache"); 
    page_request.setRequestHeader("If-Modified-Since", "Wed, 31 Dec 1980 00:00:00 GMT"); 
    page_request.setRequestHeader("Expires", "Wed, 31 Dec 1980 00:00:00 GMT"); 
    page_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=iso-8859-9;charset=UTF-8");
    page_request.send(data)
    return page_request
    }
    function loadpage(page_request, divid){
    if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
    document.getElementById(divid).innerHTML= page_request.responseText;
    }
    Kullandığım link bağlantısı örneği
    <a href="#" onClick="uA.ajax('nothing', 'GET', 'freetext.html', 'freetext')">
    teşekkür ederim.
  • 20-10-2009, 00:11:09
    #2
    linke tıklayınca ajax olarak harici bir sayfa yükletmeye çalışıyosun sanırım. javascriptler her tarayıcıda farklılık gösterebilir, normaldir. cross browser desteği olan bi kütüphane kullan. misal, jquery kullan. sayfa yüklemek için load kkomutu vardır, çok basit bi şekilde harici sayfayı yükletebilirsin.
  • 20-10-2009, 04:01:58
    #3
    Bu şekilde hallettim, belki başka arkadaşlar da vardır yapamayan kaynak olsun..

    <script type="text/javascript">
    
    var loadedobjects=""
    var rootdomain="http://"+window.location.hostname
    
    function ajaxpage(url, containerid){
    var page_request = false
    if (window.XMLHttpRequest) // if Mozilla, Safari etc
    page_request = new XMLHttpRequest()
    else if (window.ActiveXObject){ // if IE
    try {
    page_request = new ActiveXObject("Msxml2.XMLHTTP")
    } 
    catch (e){
    try{
    page_request = new ActiveXObject("Microsoft.XMLHTTP")
    }
    catch (e){}
    }
    }
    else
    return false
    page_request.onreadystatechange=function(){
    loadpage(page_request, containerid)
    }
    page_request.open('GET', url, true)
    page_request.send(null)
    }
    
    function loadpage(page_request, containerid){
    if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
    document.getElementById(containerid).innerHTML=page_request.responseText
    }
    
    function loadobjs(){
    if (!document.getElementById)
    return
    for (i=0; i<arguments.length; i++){
    var file=arguments[i]
    var fileref=""
    if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
    if (file.indexOf(".js")!=-1){ //If object is a js file
    fileref=document.createElement('script')
    fileref.setAttribute("type","text/javascript");
    fileref.setAttribute("src", file);
    }
    else if (file.indexOf(".css")!=-1){ //If object is a css file
    fileref=document.createElement("link")
    fileref.setAttribute("rel", "stylesheet");
    fileref.setAttribute("type", "text/css");
    fileref.setAttribute("href", file);
    }
    }
    if (fileref!=""){
    document.getElementsByTagName("head").item(0).appendChild(fileref)
    loadedobjects+=file+" " //Remember this object as being already added to page
    }
    }
    }
    
    </script>