Ir para conteúdo

POWERED BY:

Arquivado

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

Testinha

[Resolvido] Problema com JS

Recommended Posts

Fala galera, to com um problema q talvez seja meio simples pra quem ja for um profissional na area...pq eu sou super iniciante...hehe

 

 

Vamos la, o problema é o seguinte. Eu peguei um site ja criado, (http://www.tamvacations.com) e tinha que criar dois outros sites, no mesmo estilo, foi então que eu criei o http://www.tamvacations.com/pride e o http://www.tamvacations.com/aiesec.

 

Eu fiz esses dois sites na base do CTRL+C e CTRL+V do outro, so fui mudando as páginas e etc...

 

PS¹: reparem q no primeiro é só o endereço, e ja começa as pastas do site, e nos dois outros é o endereço /aiesec e /pride e depois começam as pastas do site.

 

Depois de terminar os dois sites (/pride e /aiesec) eu reparei q no Internet Explorer não carregava as flashs pequenos que deveriam abrir no topo da página, como vcs podem ver no http://www.tamvacations.com/pride/scripts/gay_day/

Obs: somente no IE

 

E como eu to meio em "fase de teste" no trampo, me deram a missão de descobrir oque estava aconteçendo e dar um jeito, pensei e tentei mexer de todas as formas possíveis, pois ainda não manjo muito de PHP, Css e JS.

 

PS²: No Firefox, Opera, Safari as flashs eram carregadas normalmente, o problema estava só com o IE.

 

Ai começei a comparar o primeiro site, q foi de onde eu copiei tudo com os dois que eu criei para ver onde estava o problema, lembrando que o flash do topo da página é puxado via JS, e comparando os arquivos .js que são importados na página PHP pra carregar o flash foi que eu percebi, por exemplo:

 

O primeiro site de onde eu copiei tudo não tem nenhuma sub pasta, do endereço do site ja ia pras outras pastas com as páginas, só tinha uma que se chamava scripts, e oque eu criei tinham mais uma pasta, com o nome do site, /aiesec e /pride, então eu achei que o problema estivesse nas $local_pach = ../../, tentei colocar pra voltar uma a mais, uma a menos e não deu em nada.

 

Então eu pensei em voltar as páginas que não tavam conseguindo puxar o .js do flash uma pasta pra traz, e deixar o /aiesec sem a pasta /scripts por exemplo, ficando http://www.tamvacations.com/aiesec/salvador/ por exemplo, sendo assim a pasta /scripts era substituida pela pasta com o nome do site /aiesec e /pride, fiz o teste só no /aiesec primeiro, pois tinha menos páginas pra ter q voltar tudo uma pasta pra traz, e não é que deu certo, o http://www.tamvacations.com/aiesec, com o mesmo número de pastas do site que eu copiei tudo funcionou no IE.

 

Até ai tudo bem, agora analisando os .js que são puchados, e analisando o código fonte da página:

 

primeiramente vendo o código fonte da página se ve esse código:

 

<script type="text/javascript" src="/_js/loader_pride_mini.js"></script>

este é o conteudo desse loader_pride_mini.js:

 

<!--

function MM_reloadPage(init) { //reloads the window if Nav4 resized

if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {

document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}

else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();

}

MM_reloadPage(true);

// -->

 

function sites(URL) {

day = new Date();

id = day.getTime();

eval("page" + id + " = window.open('http://www.tamvacations.net/scripts/hot_marriot/index.htm' '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=70

0,height=480,left = 20,top = 50');");

}

 

function MM_openBrWindow(theURL,winName,features) { //v2.0

window.open(theURL,winName,features);

}

 

//---------------------------------------

var sPath = '/';

var projectName = 'tamviagens_portalus';

 

var swfVersion = '8';

var swfBuild = '0';

var swfMenu = false;

var swfBgColor = '#000';

var swfWidth = '1016';

var swfMaxHeight = '546';

var swfMinHeight = '255';

 

var bGoogleAnalytics = false;

var sGoogleAnalytics = '';

 

var screenWidth = screen.width;

var screenHeight = screen.height;

//---------------------------------------

 

var libraries =

{

require : function(libraryName)

{

path = (libraryName === 'urchin') ? 'http://www.google-analytics.com/urchin.js' : sPath +'_js/' + libraryName + '.js' ;

document.write('<script type="text/javascript" src="' + path + '"></script>');

},

load :

{

before : function()

{

libraries.require('libs/general/ufo_pride_mini');

libraries.require('libs/general/behaviour');

libraries.require('common_pride_mini');

},

after : function()

{

libraries.require('libs/form/generic_validation');

libraries.require('libs/yui/yahoo-min');

libraries.require('libs/yui/event');

libraries.require('libs/yui/container_core-min');

libraries.require('libs/yui/dom-min');

libraries.require('libs/yui/animation-min');

libraries.require('libs/yui/carousel_min');

libraries.load.google.analytics();

},

google :

{

analytics : function(sGoogleAnalytics)

{

if (bGoogleAnalytics)

{

libraries.require('urchin');

_uacct = sGoogleAnalytics;

if (self.urchinTracker) urchinTracker();

}

}

}

}

};

 

libraries.load.before();

e nesse .js se encontra esse código:

 

{

libraries.require('libs/general/ufo_pride_mini');

libraries.require('libs/general/behaviour');

libraries.require('common_pride_mini');

},

que puxam esses dois .js: libs/general/ufo_pride_mini.js e common_pride_mini.js

 

e neste ufo_pride_mini.js que está o problema, segue o código dele:

 

/* Unobtrusive Flash Objects (UFO) v3.20 <http://www.bobbyvandersluis.com/ufo/>

Copyright 2005, 2006 Bobby van der Sluis

This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>

*/

 

var UFO = {

req: ["movie", "width", "height", "majorversion", "build"],

opt: ["play", "loop", "menu", "quality", "scale", "salign", "wmode", "bgcolor", "base", "flashvars", "devicefont", "allowscriptaccess", "seamlesstabbing"],

optAtt: ["id", "name", "align"],

optExc: ["swliveconnect"],

ximovie: "ufo.swf",

xiwidth: "215",

xiheight: "138",

ua: navigator.userAgent.toLowerCase(),

pluginType: "",

fv: [0,0],

foList: [],

 

create: function(FO, id) {

if (!UFO.uaHas("w3cdom") || UFO.uaHas("ieMac")) return;

UFO.getFlashVersion();

UFO.foList[id] = UFO.updateFO(FO);

UFO.createCSS("#" + id, "visibility:hidden;");

UFO.domLoad(id);

},

 

updateFO: function(FO) {

if (typeof FO.xi != "undefined" && FO.xi == "true") {

if (typeof FO.ximovie == "undefined") FO.ximovie = UFO.ximovie;

if (typeof FO.xiwidth == "undefined") FO.xiwidth = UFO.xiwidth;

if (typeof FO.xiheight == "undefined") FO.xiheight = UFO.xiheight;

}

FO.mainCalled = false;

return FO;

},

 

domLoad: function(id) {

var _t = setInterval(function() {

if ((document.getElementsByTagName("body")[0] != null || document.body != null) && document.getElementById(id) != null) {

UFO.main(id);

clearInterval(_t);

}

}, 250);

if (typeof document.addEventListener != "undefined") {

document.addEventListener("DOMContentLoaded", function() { UFO.main(id); clearInterval(_t); } , null); // Gecko, Opera 9+

}

},

 

main: function(id) {

var _fo = UFO.foList[id];

if (_fo.mainCalled) return;

UFO.foList[id].mainCalled = true;

document.getElementById(id).style.visibility = "hidden";

if (UFO.hasRequired(id)) {

if (UFO.hasFlashVersion(parseInt(_fo.majorversion, 10), parseInt(_fo.build, 10))) {

if (typeof _fo.setcontainercss != "undefined" && _fo.setcontainercss == "true") UFO.setContainerCSS(id);

UFO.writeSWF(id);

}

else if (_fo.xi == "true" && UFO.hasFlashVersion(6, 65)) {

UFO.createDialog(id);

}

}

document.getElementById(id).style.visibility = "visible";

},

 

createCSS: function(selector, declaration) {

var _h = document.getElementsByTagName("head")[0];

var _s = UFO.createElement("style");

if (!UFO.uaHas("ieWin")) _s.appendChild(document.createTextNode(selector + " {" + declaration + "}")); // bugs in IE/Win

_s.setAttribute("type", "text/css");

_s.setAttribute("media", "screen");

_h.appendChild(_s);

if (UFO.uaHas("ieWin") && document.styleSheets && document.styleSheets.length > 0) {

var _ls = document.styleSheets[document.styleSheets.length - 1];

if (typeof _ls.addRule == "object") _ls.addRule(selector, declaration);

}

},

 

setContainerCSS: function(id) {

var _fo = UFO.foList[id];

var _w = /%/.test(_fo.width) ? "" : "px";

var _h = /%/.test(_fo.height) ? "" : "px";

UFO.createCSS("#" + id, "width:" + _fo.width + _w +"; height:" + _fo.height + _h +";");

if (_fo.width == "100%") {

UFO.createCSS("body", "margin-left:0; margin-right:0; padding-left:0; padding-right:0;");

}

if (_fo.height == "100%") {

UFO.createCSS("html", "height:100%; overflow:hidden;");

UFO.createCSS("body", "margin-top:0; margin-bottom:0; padding-top:0; padding-bottom:0; height:100%;");

}

},

 

createElement: function(el) {

return (UFO.uaHas("xml") && typeof document.createElementNS != "undefined") ? document.createElementNS("http://www.w3.org/1999/xhtml", el) : document.createElement(el);

},

 

createObjParam: function(el, aName, aValue) {

var _p = UFO.createElement("param");

_p.setAttribute("name", aName);

_p.setAttribute("value", aValue);

el.appendChild(_p);

},

 

uaHas: function(ft) {

var _u = UFO.ua;

switch(ft) {

case "w3cdom":

return (typeof document.getElementById != "undefined" && typeof document.getElementsByTagName != "undefined" && (typeof document.createElement != "undefined" || typeof document.createElementNS != "undefined"));

case "xml":

var _m = document.getElementsByTagName("meta");

var _l = _m.length;

for (var i = 0; i < _l; i++) {

if (/content-type/i.test(_m.getAttribute("http-equiv")) && /xml/i.test(_m.getAttribute("content"))) return true;

}

return false;

case "ieMac":

return /msie/.test(_u) && !/opera/.test(_u) && /mac/.test(_u);

case "ieWin":

return /msie/.test(_u) && !/opera/.test(_u) && /win/.test(_u);

case "gecko":

return /gecko/.test(_u) && !/applewebkit/.test(_u);

case "opera":

return /opera/.test(_u);

case "safari":

return /applewebkit/.test(_u);

default:

return false;

}

},

 

getFlashVersion: function() {

if (UFO.fv[0] != 0) return;

if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") {

UFO.pluginType = "npapi";

var _d = navigator.plugins["Shockwave Flash"].description;

if (typeof _d != "undefined") {

_d = _d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");

var _m = parseInt(_d.replace(/^(.*)\..*$/, "$1"), 10);

var _r = /r/.test(_d) ? parseInt(_d.replace(/^.*r(.*)$/, "$1"), 10) : 0;

UFO.fv = [_m, _r];

}

}

else if (window.ActiveXObject) {

UFO.pluginType = "ax";

try { // avoid fp 6 crashes

var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");

}

catch(e) {

try {

var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");

UFO.fv = [6, 0];

_a.AllowScriptAccess = "always"; // throws if fp < 6.47

}

catch(e) {

if (UFO.fv[0] == 6) return;

}

try {

var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");

}

catch(e) {}

}

if (typeof _a == "object") {

var _d = _a.GetVariable("$version"); // bugs in fp 6.21/6.23

if (typeof _d != "undefined") {

_d = _d.replace(/^\S+\s+(.*)$/, "$1").split(",");

UFO.fv = [parseInt(_d[0], 10), parseInt(_d[2], 10)];

}

}

}

},

 

hasRequired: function(id) {

var _l = UFO.req.length;

for (var i = 0; i < _l; i++) {

if (typeof UFO.foList[id][uFO.req] == "undefined") return false;

}

return true;

},

 

hasFlashVersion: function(major, release) {

return (UFO.fv[0] > major || (UFO.fv[0] == major && UFO.fv[1] >= release)) ? true : false;

},

 

writeSWF: function(id) {

var _fo = UFO.foList[id];

var _e = document.getElementById(id);

if (UFO.pluginType == "npapi") {

if (UFO.uaHas("gecko") || UFO.uaHas("xml")) {

while(_e.hasChildNodes()) {

_e.removeChild(_e.firstChild);

}

var _obj = UFO.createElement("object");

_obj.setAttribute("type", "application/x-shockwave-flash");

_obj.setAttribute("data", _fo.movie);

_obj.setAttribute("width", _fo.width);

_obj.setAttribute("height", _fo.height);

var _l = UFO.optAtt.length;

for (var i = 0; i < _l; i++) {

if (typeof _fo[uFO.optAtt] != "undefined") _obj.setAttribute(UFO.optAtt, _fo[uFO.optAtt]);

}

var _o = UFO.opt.concat(UFO.optExc);

var _l = _o.length;

for (var i = 0; i < _l; i++) {

if (typeof _fo[_o] != "undefined") UFO.createObjParam(_obj, _o, _fo[_o]);

}

_e.appendChild(_obj);

}

else {

var _emb = "";

var _o = UFO.opt.concat(UFO.optAtt).concat(UFO.optExc);

var _l = _o.length;

for (var i = 0; i < _l; i++) {

if (typeof _fo[_o] != "undefined") _emb += ' ' + _o + '="' + _fo[_o] + '"';

}

_e.innerHTML = '<embed type="application/x-shockwave-flash" src="/_swf_pride_mini/header.swf" width="' + _fo.width + '" height="' + _fo.height + '" pluginspage="http://www.macromedia.com/go/getflashplayer"' + _emb + '></embed>';

}

}

else if (UFO.pluginType == "ax") {

var _objAtt = "";

var _l = UFO.optAtt.length;

for (var i = 0; i < _l; i++) {

if (typeof _fo[uFO.optAtt] != "undefined") _objAtt += ' ' + UFO.optAtt + '="' + _fo[uFO.optAtt] + '"';

}

var _objPar = "";

var _l = UFO.opt.length;

for (var i = 0; i < _l; i++) {

if (typeof _fo[uFO.opt] != "undefined") _objPar += '<param name="' + UFO.opt + '" value="' + _fo[uFO.opt] + '" />';

}

var _p = window.location.protocol == "https:" ? "https:" : "http:";

_e.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + _objAtt + ' width="' + _fo.width + '" height="' + _fo.height + '" codebase="' + _p + '//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + _fo.majorversion + ',0,' + _fo.build + ',0"><param name="movie" value="../../_swf_pride_mini/header.swf" />' + _objPar + '</object>'; //_fo.movie

}

},

 

createDialog: function(id) {

var _fo = UFO.foList[id];

UFO.createCSS("html", "height:100%; overflow:hidden;");

UFO.createCSS("body", "height:100%; overflow:hidden;");

UFO.createCSS("#xi-con", "position:absolute; left:0; top:0; z-index:1000; width:100%; height:100%; background-color:#fff; filter:alpha(opacity:75); opacity:0.75;");

UFO.createCSS("#xi-dia", "position:absolute; left:50%; top:50%; margin-left: -" + Math.round(parseInt(_fo.xiwidth, 10) / 2) + "px; margin-top: -" + Math.round(parseInt(_fo.xiheight, 10) / 2) + "px; width:" + _fo.xiwidth + "px; height:" + _fo.xiheight + "px;");

var _b = document.getElementsByTagName("body")[0];

var _c = UFO.createElement("div");

_c.setAttribute("id", "xi-con");

var _d = UFO.createElement("div");

_d.setAttribute("id", "xi-dia");

_c.appendChild(_d);

_b.appendChild(_c);

var _mmu = window.location;

if (UFO.uaHas("xml") && UFO.uaHas("safari")) {

var _mmd = document.getElementsByTagName("title")[0].firstChild.nodeValue = document.getElementsByTagName("title")[0].firstChild.nodeValue.slice(0, 47) + " - Flash Player Installation";

}

else {

var _mmd = document.title = document.title.slice(0, 47) + " - Flash Player Installation";

}

var _mmp = UFO.pluginType == "ax" ? "ActiveX" : "PlugIn";

var _uc = typeof _fo.xiurlcancel != "undefined" ? "&xiUrlCancel=" + _fo.xiurlcancel : "";

var _uf = typeof _fo.xiurlfailed != "undefined" ? "&xiUrlFailed=" + _fo.xiurlfailed : "";

UFO.foList["xi-dia"] = { movie:_fo.ximovie, width:_fo.xiwidth, height:_fo.xiheight, majorversion:"6", build:"65", flashvars:"MMredirectURL=" + _mmu + "&MMplayerType=" + _mmp + "&MMdoctitle=" + _mmd + _uc + _uf };

UFO.writeSWF("xi-dia");

},

 

expressInstallCallback: function() {

var _b = document.getElementsByTagName("body")[0];

var _c = document.getElementById("xi-con");

_b.removeChild(_c);

UFO.createCSS("body", "height:auto; overflow:auto;");

UFO.createCSS("html", "height:auto; overflow:auto;");

},

 

cleanupIELeaks: function() {

var _o = document.getElementsByTagName("object");

var _l = _o.length

for (var i = 0; i < _l; i++) {

_o.style.display = "none";

for (var x in _o) {

if (typeof _o[x] == "function") {

_o[x] = null;

}

}

}

}

 

};

 

if (typeof window.attachEvent != "undefined" && UFO.uaHas("ieWin")) {

window.attachEvent("onunload", UFO.cleanupIELeaks);

}

Nesse código da pra ver a linha:

 

var _p = window.location.protocol == "https:" ? "https:" : "http:";

_e.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + _objAtt + ' width="' + _fo.width + '" height="' + _fo.height + '" codebase="' + _p + '//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + _fo.majorversion + ',0,' + _fo.build + ',0"><param name="movie" value="../../_swf_pride_mini/header.swf" />' + _objPar + '</object>

que é onde finalmente puxa o flash que abre la na página, nesse código pode se encontrar várias coisas sobre o IE, basta procurar via CTRL+F pela palavra ieWin e provavelmente ai que está o erro...gostaria que alguém que manjasse de JS analisa-se esse ultimo .js (ufo_pride_mini), para ver oque pode estar ocorrendo, lembrando que só não consegue carregar o flash no IE, no resto abre normal.

 

Links que funcionam e não funcionam:

 

Página de onde eu copiei tudo: http://www.tamvacations.com/scripts/classics/

 

Página que eu fiz que não abre no IE: http://www.tamvacations.com/pride/scripts/gay_day/

 

Página que eu retirei a pasta scripts e abriu no IE: http://www.tamvacations.com/aiesec/salvador/

 

Espero ter conseguido explicar direitinho pra quem alguém possa me ajudar!!

 

Ps³: Lembrando que só não abre no IE e só os flashs pequenos de dentro das pastas, o flash grande da página incial abre normalmente!!

 

Qualquer coisa meu e-mail é: leodickinson@hotmail.com

 

Obrigado desde já!

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aki abriu de boa no IE e no FF...

 

Iguaizinhos.. sem nenhuma diferença...

 

Ql a versão do IE q você usa ?

 

 

Testei na 6.0 e foi de boa..

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aki abriu de boa no IE e no FF...

 

Iguaizinhos.. sem nenhuma diferença...

 

Ql a versão do IE q você usa ?

 

 

Testei na 6.0 e foi de boa..

 

Abraços...

Consegui resolver o problema velho...mais vlw pela atenção!!

 

o problema estava nessa linha:

 

<param name="movie" value="../../_swf_pride_mini/header.swf" />' + _objPar + '</object>

foi só dar mais um "../" e funcionou...nem acreditei na hora ^____^

 

 

Abraços!

:D

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.