Jump to content


Abrir Na Iframe


  • Faça o login para participar
16 replies to this topic

#1 Guilherme Adams

Guilherme Adams
  • Visitantes

Posted 27/07/2003, 03:22

Eu peguei o Menu dTree na seção Java script... mas não estou conseguindo com que os links abram em uma iframe com o nome MEIO ... olhe o código dos links
d.add(4,0,'Serviços','default.html');
como faço ? olhem a pagina www.globalweb2002.kit.net/2003/index.html

Muitooo obrigado pela atenção de voçês :D
Guilherme Adams

#2 Skuall

Skuall

    Doutor

  • Usuários
  • 968 posts
  • Sexo:Não informado

Posted 27/07/2003, 07:39

Olá! :yes:

Sinceramente, seuquer entendi onde você pegou o Código mas...

Já tentou usar target="meio" nos links?

#3 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 27/07/2003, 14:22

Naum vai ser possível possível usar o atributo target no link.. Pois o script redireciona para a página atravéz de um JavaScript e naum de códigos em HTML..

Intaum, vc vai ter que postar a função add() pra nós podermos saber como que ela faz para redirecionar para a page..

É só alterar uma linha de código e pronto.. Mas é preciso saber que linha é essa.. ;)

Poste a função add() do seu script para que possamos ajudar.. ;)

Fui.. :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#4 Guest

Guest
  • Visitantes

Posted 27/07/2003, 15:10

bom eu achei esse:

// Adds a new node to the node array
this.add = function(id, pid, name, url, title, target, isopen, img)
{
this.arrNodes[this.arrNodes.length] = new Node(id, pid, name, url, title, target, isopen, img);
}

// Outputs the tree to the page
this.draw = function()
{
if (document.getElementById)
{
this.preloadIcons();
if (this.useCookies) this.selectedNode = this.getSelected();
this.addNode(this.rootNode);

document.writeln(this.strOutput);
}
else
{
document.writeln('Browser not supported.');
}
}

this.openAll = function()
{
this.oAll(true);
}

this.closeAll = function()
{
this.oAll(false);
}

#5 Luis Fernando

Luis Fernando
  • Visitantes

Posted 27/07/2003, 15:17

Tenta colocar Meio como <base target=" "> pode ser que funcione

#6 Casperloco

Casperloco

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado
  • Localidade:Foz do Iguaçu - paraná
  • Interesses:Internet... Estudos... Amigos... Familia..

Posted 27/07/2003, 15:56

Ja tentei colocar meio como target mas não deu =~~
By Casperloco

#7 Guest

Guest
  • Visitantes

Posted 12/08/2003, 17:08

All,

Tb estou com o mesmo problema. Gostaria de saber qual código teria que por para que abre no frame ao lado. Sei que em uma parte do código, se colocamos "TRUE", ao clicar no link abre uma nova pagina.

Valeu.

#8 klesk

klesk

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado
  • Localidade:Porto Alegre
  • Interesses:Webdesign / Programação

Posted 12/08/2003, 17:32

All,

Tb estou com o mesmo problema. Gostaria de saber qual código teria que por para que abre no frame ao lado. Sei que em uma parte do código, se colocamos "TRUE", ao clicar no link abre uma nova pagina.

Valeu.

nao entendi mto bem, mas acho q eh mais ou menos isso...

na tag <A>, coloque isso...

target="framedolado"

:ok:

#9 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 13/08/2003, 01:05

All,

Tb estou com o mesmo problema. Gostaria de saber qual código teria que por para que abre no frame ao lado. Sei que em uma parte do código, se colocamos "TRUE", ao clicar no link abre uma nova pagina.

Valeu.

nao entendi mto bem, mas acho q eh mais ou menos isso...

na tag <A>, coloque isso...

target="framedolado"

:ok:

Bom, se essa segunda dúvida for relacionada a mesma coisa que a primeira..

Naum vai ser possível fazer como vc falou klesk.. Pois como eu falei lá no início do tópico, que nesse script de menu o que redireciona a page á algum script em JavaScript..Naum uma TAG <a>.. ;)

Mas caso o script naum seja o mesmo, aí eu já naum sei.. :P

Fui.. :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#10 emurata

emurata
  • Visitantes

Posted 13/08/2003, 17:37

O script eh o mesmo, porém como coloco este código no java para que abra no frame ao lado.

#11 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 14/08/2003, 00:14

Bom, já que o script é o mesmo, a reposta do klesk naum lhe é util..

Bom, pra saber onde vc deverá alterar no script, vc teria que postar como fica o link normal aqui.. Pois a maneira que o Guilherme Adams postou naum deu pra entender e naum deu pra saber qual a função que faz o redirecionamento..

Intaum poste como fica o link, ou intaum olhe como é o link e veja se tu encontra algo no código em JavaScript com a função que vc vai encontrar no link..

Mas se naum conseguir nada, poste aqui primeiramente o link, depois eu digo qual parte do script vc deverá postar.. ok?? ;)

Fui.. :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#12 Edgar

Edgar
  • Visitantes

Posted 14/08/2003, 09:27

function Node(id, pid, name, url, title, target, icon, iconOpen, open) {

this.id = id;

this.pid = pid;

this.name = name;

this.url = url;

this.title = title;

this.target = target;

this.icon = icon;

this.iconOpen = iconOpen;

this._io = open || false;

this._is = false;

this._ls = false;

this._hc = false;

this._ai = 0;

this._p;

};



// Tree object

function dTree(objName) {

this.config = {

target : true,

folderLinks : true,

useSelection : true,

useCookies : true,

useLines : true,

useIcons : true,

useStatusText : false,

closeSameLevel : false,

inOrder : false

}

this.icon = {

root : 'img/base.gif',

folder : 'img/folder.gif',

folderOpen : 'img/folderopen.gif',

node : 'img/page.gif',

empty : 'img/empty.gif',

line : 'img/line.gif',

join : 'img/join.gif',

joinBottom : 'img/joinbottom.gif',

plus : 'img/plus.gif',

plusBottom : 'img/plusbottom.gif',

minus : 'img/minus.gif',

minusBottom : 'img/minusbottom.gif',

nlPlus : 'img/nolines_plus.gif',

nlMinus : 'img/nolines_minus.gif'

};

this.obj = objName;

this.aNodes = [];

this.aIndent = [];

this.root = new Node(-1);

this.selectedNode = null;

this.selectedFound = false;

this.completed = false;

};



// Adds a new node to the node array

dTree.prototype.add = function(id, pid, name, url, title, target, icon, iconOpen, open) {

this.aNodes[this.aNodes.length] = new Node(id, pid, name, url, title, target, icon, iconOpen, open);

};



// Open/close all nodes

dTree.prototype.openAll = function() {

this.oAll(true);

};

dTree.prototype.closeAll = function() {

this.oAll(false);

};



// Outputs the tree to the page

dTree.prototype.toString = function() {

var str = '<div class="dtree">\n';

if (document.getElementById) {

if (this.config.useCookies) this.selectedNode = this.getSelected();

str += this.addNode(this.root);

} else str += 'Browser not supported.';

str += '</div>';

if (!this.selectedFound) this.selectedNode = null;

this.completed = true;

return str;

};



// Creates the tree structure

dTree.prototype.addNode = function(pNode) {

var str = '';

var n=0;

if (this.config.inOrder) n = pNode._ai;

for (n; n<this.aNodes.length; n++) {

if (this.aNodes[n].pid == pNode.id) {

var cn = this.aNodes[n];

cn._p = pNode;

cn._ai = n;

this.setCS(cn);

if (!cn.target && this.config.target) cn.target = this.config.target;

if (cn._hc && !cn._io && this.config.useCookies) cn._io = this.isOpen(cn.id);

if (!this.config.folderLinks && cn._hc) cn.url = null;

if (this.config.useSelection && cn.id == this.selectedNode && !this.selectedFound) {

cn._is = true;

this.selectedNode = n;

this.selectedFound = true;

}

str += this.node(cn, n);

if (cn._ls) break;

}

}

return str;

};



// Creates the node icon, url and text

dTree.prototype.node = function(node, nodeId) {

var str = '<div class="dTreeNode">' + this.indent(node, nodeId);

if (this.config.useIcons) {

if (!node.icon) node.icon = (this.root.id == node.pid) ? this.icon.root : ((node._hc) ? this.icon.folder : this.icon.node);

if (!node.iconOpen) node.iconOpen = (node._hc) ? this.icon.folderOpen : this.icon.node;

if (this.root.id == node.pid) {

node.icon = this.icon.root;

node.iconOpen = this.icon.root;

}

str += '<img id="i' + this.obj + nodeId + '" src="' + ((node._io) ? node.iconOpen : node.icon) + '" alt="" />';

}

if (node.url) {

str += '<a id="s' + this.obj + nodeId + '" class="' + ((this.config.useSelection) ? ((node._is ? 'nodeSel' : 'node')) : 'node') + '" href="' + node.url + '"';

if (node.title) str += ' title="' + node.title + '"';

if (node.target) str += ' target="' + node.target + '"';

if (this.config.useStatusText) str += ' onmouseover="window.status=\'' + node.name + '\';return true;" onmouseout="window.status=\'\';return true;" ';

if (this.config.useSelection && ((node._hc && this.config.folderLinks) || !node._hc))

str += ' onclick="java script: ' + this.obj + '.s(' + nodeId + ');"';

str += '>';

}

else if ((!this.config.folderLinks || !node.url) && node._hc && node.pid != this.root.id)

str += '<a href="java script: ' + this.obj + '.o(' + nodeId + ');" class="node">';

str += node.name;

if (node.url || ((!this.config.folderLinks || !node.url) && node._hc)) str += '</a>';

str += '</div>';

if (node._hc) {

str += '<div id="d' + this.obj + nodeId + '" class="clip" style="display:' + ((this.root.id == node.pid || node._io) ? 'block' : 'none') + ';">';

str += this.addNode(node);

str += '</div>';

}

this.aIndent.pop();

return str;

};



// Adds the empty and line icons

dTree.prototype.indent = function(node, nodeId) {

var str = '';

if (this.root.id != node.pid) {

for (var n=0; n<this.aIndent.length; n++)

str += '<img src="' + ( (this.aIndent[n] == 1 && this.config.useLines) ? this.icon.line : this.icon.empty ) + '" alt="" />';

(node._ls) ? this.aIndent.push(0) : this.aIndent.push(1);

if (node._hc) {

str += '<a href="java script: ' + this.obj + '.o(' + nodeId + ');"><img id="j' + this.obj + nodeId + '" src="';

if (!this.config.useLines) str += (node._io) ? this.icon.nlMinus : this.icon.nlPlus;

else str += ( (node._io) ? ((node._ls && this.config.useLines) ? this.icon.minusBottom : this.icon.minus) : ((node._ls && this.config.useLines) ? this.icon.plusBottom : this.icon.plus ) );

str += '" alt="" /></a>';

} else str += '<img src="' + ( (this.config.useLines) ? ((node._ls) ? this.icon.joinBottom : this.icon.join ) : this.icon.empty) + '" alt="" />';

}

return str;

};



// Checks if a node has any children and if it is the last sibling

dTree.prototype.setCS = function(node) {

var lastId;

for (var n=0; n<this.aNodes.length; n++) {

if (this.aNodes[n].pid == node.id) node._hc = true;

if (this.aNodes[n].pid == node.pid) lastId = this.aNodes[n].id;

}

if (lastId==node.id) node._ls = true;

};



// Returns the selected node

dTree.prototype.getSelected = function() {

var sn = this.getCookie('cs' + this.obj);

return (sn) ? sn : null;

};



// Highlights the selected node

dTree.prototype.s = function(id) {

if (!this.config.useSelection) return;

var cn = this.aNodes[id];

if (cn._hc && !this.config.folderLinks) return;

if (this.selectedNode != id) {

if (this.selectedNode || this.selectedNode==0) {

eOld = document.getElementById("s" + this.obj + this.selectedNode);

eOld.className = "node";

}

eNew = document.getElementById("s" + this.obj + id);

eNew.className = "nodeSel";

this.selectedNode = id;

if (this.config.useCookies) this.setCookie('cs' + this.obj, cn.id);

}

};



// Toggle Open or close

dTree.prototype.o = function(id) {

var cn = this.aNodes[id];

this.nodeStatus(!cn._io, id, cn._ls);

cn._io = !cn._io;

if (this.config.closeSameLevel) this.closeLevel(cn);

if (this.config.useCookies) this.updateCookie();

};



// Open or close all nodes

dTree.prototype.oAll = function(status) {

for (var n=0; n<this.aNodes.length; n++) {

if (this.aNodes[n]._hc && this.aNodes[n].pid != this.root.id) {

this.nodeStatus(status, n, this.aNodes[n]._ls)

this.aNodes[n]._io = status;

}

}

if (this.config.useCookies) this.updateCookie();

};



// Opens the tree to a specific node

dTree.prototype.openTo = function(nId, bSelect, bFirst) {

if (!bFirst) {

for (var n=0; n<this.aNodes.length; n++) {

if (this.aNodes[n].id == nId) {

nId=n;

break;

}

}

}

var cn=this.aNodes[nId];

if (cn.pid==this.root.id || !cn._p) return;

cn._io = true;

cn._is = bSelect;

if (this.completed && cn._hc) this.nodeStatus(true, cn._ai, cn._ls);

if (this.completed && bSelect) this.s(cn._ai);

else if (bSelect) this._sn=cn._ai;

this.openTo(cn._p._ai, false, true);

};



// Closes all nodes on the same level as certain node

dTree.prototype.closeLevel = function(node) {

for (var n=0; n<this.aNodes.length; n++) {

if (this.aNodes[n].pid == node.pid && this.aNodes[n].id != node.id && this.aNodes[n]._hc) {

this.nodeStatus(false, n, this.aNodes[n]._ls);

this.aNodes[n]._io = false;

this.closeAllChildren(this.aNodes[n]);

}

}

}



// Closes all children of a node

dTree.prototype.closeAllChildren = function(node) {

for (var n=0; n<this.aNodes.length; n++) {

if (this.aNodes[n].pid == node.id && this.aNodes[n]._hc) {

if (this.aNodes[n]._io) this.nodeStatus(false, n, this.aNodes[n]._ls);

this.aNodes[n]._io = false;

this.closeAllChildren(this.aNodes[n]);

}

}

}



// Change the status of a node(open or closed)

dTree.prototype.nodeStatus = function(status, id, bottom) {

eDiv = document.getElementById('d' + this.obj + id);

eJoin = document.getElementById('j' + this.obj + id);

if (this.config.useIcons) {

eIcon = document.getElementById('i' + this.obj + id);

eIcon.src = (status) ? this.aNodes[id].iconOpen : this.aNodes[id].icon;

}

eJoin.src = (this.config.useLines)?

((status)?((bottom)?this.icon.minusBottom:this.icon.minus):((bottom)?this.icon.plusBottom:this.icon.plus)):

((status)?this.icon.nlMinus:this.icon.nlPlus);

eDiv.style.display = (status) ? 'block': 'none';

};





// [Cookie] Clears a cookie

dTree.prototype.clearCookie = function() {

var now = new Date();

var yesterday = new Date(now.getTime() - 1000 * 60 * 60 * 24);

this.setCookie('co'+this.obj, 'cookieValue', yesterday);

this.setCookie('cs'+this.obj, 'cookieValue', yesterday);

};



// [Cookie] Sets value in a cookie

dTree.prototype.setCookie = function(cookieName, cookieValue, expires, path, domain, secure) {

document.cookie =

escape(cookieName) + '=' + escape(cookieValue)

+ (expires ? '; expires=' + expires.toGMTString() : '')

+ (path ? '; path=' + path : '')

+ (domain ? '; domain=' + domain : '')

+ (secure ? '; secure' : '');

};



// [Cookie] Gets a value from a cookie

dTree.prototype.getCookie = function(cookieName) {

var cookieValue = '';

var posName = document.cookie.indexOf(escape(cookieName) + '=');

if (posName != -1) {

var posValue = posName + (escape(cookieName) + '=').length;

var endPos = document.cookie.indexOf(';', posValue);

if (endPos != -1) cookieValue = unescape(document.cookie.substring(posValue, endPos));

else cookieValue = unescape(document.cookie.substring(posValue));

}

return (cookieValue);

};



// [Cookie] Returns ids of open nodes as a string

dTree.prototype.updateCookie = function() {

var str = '';

for (var n=0; n<this.aNodes.length; n++) {

if (this.aNodes[n]._io && this.aNodes[n].pid != this.root.id) {

if (str) str += '.';

str += this.aNodes[n].id;

}

}

this.setCookie('co' + this.obj, str);

};



// [Cookie] Checks if a node id is in a cookie

dTree.prototype.isOpen = function(id) {

var aOpen = this.getCookie('co' + this.obj).split('.');

for (var n=0; n<aOpen.length; n++)

if (aOpen[n] == id) return true;

return false;

};



// If Push and pop is not implemented by the browser

if (!Array.prototype.push) {

Array.prototype.push = function array_push() {

for(var i=0;i<arguments.length;i++)

this[this.length]=arguments[i];

return this.length;

}

};

if (!Array.prototype.pop) {

Array.prototype.pop = function array_pop() {

lastElement = this[this.length-1];

this.length = Math.max(this.length-1,0);

return lastElement;

}

};


'' Se naum entendeu, baixa o script por esse link: http://www.wmonline....bcategoria=menu (o item eh o "dtree")...VALEU !!!

#13 Skull

Skull

    Tudo tem um começo

  • Usuários
  • 112 posts
  • Sexo:Não informado

Posted 14/08/2003, 12:58

Esse é o trecho (só esse) que você deve alterar do arquivo dtree.js, onde diz nome_do_frame você acrescenta o nome dele, ficando assim:

// Start the node link
    if (cn.url)
    {
   	 this.strOutput += '<a href="' + cn.url + '"';
   	 if (cn.title) this.strOutput += ' title="' + cn.title + '"';
   	 if (cn.target) this.strOutput += ' target="nome_do_iframe"' + cn.target + '"';
   	 if (this.target && !cn.target) this.strOutput += ' target="nome_do_iframe"' + this.target + '"';

Espero ter ajudado.
Si tiver mais alguma dúvida com o código post aqui que respondo.

Fui! :punk:

#14 Edgar

Edgar
  • Visitantes

Posted 14/08/2003, 16:13

Cara valeu pela dica, porém ele continuou a abrir em cima do mesmo frame. tem como vc fazer o download do script e ver se realmente vc falou certo e eu fiz errado ?

#15 Skull

Skull

    Tudo tem um começo

  • Usuários
  • 112 posts
  • Sexo:Não informado

Posted 14/08/2003, 16:35

Cara, eu fiz o download verifiquei o script, montei uma página com iframe e funcionou.
Vc tá usando qtos iframes na página? ou frames?
Vc só mudou o q eu lhe disse no arquivo dtree.js?
O restante, tanto na dtree.js e na página que tem o menu não precisa alterar.

Baixa o arquivo já alterado e o exemplo para o q vc quer aqui.
Ps.: Só não enviei as imagens, pois vc já as tem.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq