Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

naiani

Acesso negado Code: 0 com JavaScript

Recommended Posts

Bom dia, gente.

Estou trabalhando num site de uma empresa e preciso fazer com que as paginas internas de cada secao abram numa DIV, como um iframe. Nao quero usar iframe, pesquisei no Google e achei uma solucao em Ajax. Funciona perfeitamente no site que contem a dica, mas nao funciona no meu site, pois o JavaScript acusa Access denied, Code: 0. A unica razao que encontrei pra esse erro no Google eh quando, por questoes de seguranca, o browser bloqueia o acesso ao arquivo devido ao mesmo estar em outro dominio ou protocolo, diferentes da pagina que estah chamando a funcao. Jah quebrei a cabeca aqui tentando resolver esse problema, mas nada que tento dah certo. A unica coisa que ainda nao tentei aparentemente foi a solucao pro problema.. =P

Gostaria de uma ajuda pra que eu possa solucionar isso, pois nao tenho mto tempo pra fazer esse site funcionar.

O codigo do script eh o seguinte:

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)var loadedobjects=""var rootdomain="http://"+window.location.hostnamevar bustcacheparameter=""function ajaxpage(url, containerid){var page_request = falseif (window.XMLHttpRequest) // if Mozilla, Safari etcpage_request = new XMLHttpRequest()else if (window.ActiveXObject){ // if IEtry {page_request = new ActiveXObject("Msxml2.XMLHTTP")} catch (e){try{page_request = new ActiveXObject("Microsoft.XMLHTTP")}catch (e){}}}elsereturn falsepage_request.onreadystatechange=function(){loadpage(page_request, containerid)}if (bustcachevar) //if bust caching of external pagebustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()page_request.open('GET', url+bustcacheparameter, 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)returnfor (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 proceedingif (file.indexOf(".js")!=-1){ //If object is a js filefileref=document.createElement('script')fileref.setAttribute("type","text/javascript");fileref.setAttribute("src", file);}else if (file.indexOf(".css")!=-1){ //If object is a css filefileref=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}}}
Notem que na 3a. linha, var rootdomain, eu troquei o http:// por file://, pois estou testando o site localmente.

Meus links que chamam essa funcao ficam assim:

<a href="java script:ajaxpage('home.html', 'content');">Home</a>
O site onde achei a dica eh o Dynamic Drive.

Nao sei mais o que fazer, jah tentei varias formas diferentes e nada funciona.

Obrigada!

 

PS.: Apos testes, descobri que no Firefox o codigo funciona perfeitamente (eu nao tinha Ff aqui nesse laptop no momento dos primeiros testes). O problema eh no IE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente a requisição não permite que você acesse um aquivo desta forma:: file://c:.....

pois trata-se de uma requisição remota

 

solução::

acesse o arquivo através de um protocolo http:: ex:: http://localhost/aquivo.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.