Estou utilizando um script (jquery) ajax utilizado para que a página ajax possa ser salva nos favoritos e para que funcione com o botão voltar, pois altera a url. O problema é o seguinte, o meu link deve passar além do "href", o atributo "rel", tudo funciona perfeitamente com os links, porém em flash não tenho como passar o atributo rel, sendo assim o link não funciona com o flash (obs.: sem o "rel" no firefox funciona, não funciona no google chrome e nem no IE6).
alguém saberia como consigo corrigir isto, acredito que a unica forma de passar o rel em flash seria criando uma função javascript para chamar no flash, porém não sei como criar essa função.
Abaixo seguem os códigos:
Código do link:
<a href="#pagina.php" rel="history">PÁGINA</a>
Código do script que utilizo para o ajax:
<script type="text/javascript">
// PageLoad function
// This function is called when:
// 1. after calling $.historyInit();
// 2. after calling $.historyLoad();
// 3. after pushing "Go Back" button of a browser
function pageload(hash) {
// hash doesn't contain the first # character.
if(hash) {
// restore ajax loaded state
$("#col-dir").load(hash);
} else {
// start page
//$("#load").empty();
$('#col-dir').load("inicial.php"); // abre a pagina inicial ao abrir o site
}
};
//start: function(elementLink){
$(document).ready(function(){
// Initialize history plugin.
// The callback is called at once by present location.hash.
$.historyInit(pageload);
// set onlick event for buttons
// if((elementLink.getAttribute('rel') == 'history')){
$("a[@rel='history']").click(function(){
//
var hash = this.href;
hash = hash.replace(/^.*#/, '');
$("#col-dir").html('<div class="tarjaTit"><img src="imagens/ajaxloader.gif"></div>');
// moves to a new page.
// pageload is called at once.
$.historyLoad(hash);
return false;
});
});
</script>
Então é isso, gostaria de saber como chamar o link através de uma função, sendo que passe o atributo "rel" através dela.
Grato!
Seguinte:
fiz no link o seguinte:
<script type="text/javascript">
function setaURL(url){
var link = document.createElement('a');
link.setAttribute('rel','sidebar');
link.setAttribute('href',url);
}
</script>
meu objetivo com isso seria criar um link dentro dessa função para ( com o createElement) e a partir dai setar seu href e seu atributo rel, para assim passar somente a chamada dessa função no flash. Porém não sei agora como posso executar esse link dentro dessa função setaURL, porque ai está apenas criando, queria q executasse o link criado.
Se alguém tiver alguma idéia fico agradecido. Caso isso não funcione, também estava pensando se não tem alguma forma de alterar esa parte do código que passei anterirormente:
$(document).ready(function(){
// Initialize history plugin.
// The callback is called at once by present location.hash.
$.historyInit(pageload);
// set onlick event for buttons
// if((elementLink.getAttribute('rel') == 'history')){
$("a[@rel='history']").click(function(){
//
var hash = this.href;
hash = hash.replace(/^.*#/, '');
$("#col-dir").html('<div class="tarjaTit"><img src="imagens/ajaxloader.gif"></div>');
// moves to a new page.
// pageload is called at once.
$.historyLoad(hash);
return false;
});
});
porque é nessa parte ali ( $("a[@rel=history]").click(function()) que ele executa os links com rel=history. Será que não tem como colocar outra coisa, para que pegue sem o history, para que não precise passar o rel pelo flash??
Não sei se fui muito claro em minhas dúvidas, mas se alguém puder ajudar eu agradeço.
Pergunta
FabianoM
Boa tarde a todos.
Estou utilizando um script (jquery) ajax utilizado para que a página ajax possa ser salva nos favoritos e para que funcione com o botão voltar, pois altera a url. O problema é o seguinte, o meu link deve passar além do "href", o atributo "rel", tudo funciona perfeitamente com os links, porém em flash não tenho como passar o atributo rel, sendo assim o link não funciona com o flash (obs.: sem o "rel" no firefox funciona, não funciona no google chrome e nem no IE6).
alguém saberia como consigo corrigir isto, acredito que a unica forma de passar o rel em flash seria criando uma função javascript para chamar no flash, porém não sei como criar essa função.
Abaixo seguem os códigos:
Código do link:
Código do script que utilizo para o ajax:<script type="text/javascript"> // PageLoad function // This function is called when: // 1. after calling $.historyInit(); // 2. after calling $.historyLoad(); // 3. after pushing "Go Back" button of a browser function pageload(hash) { // hash doesn't contain the first # character. if(hash) { // restore ajax loaded state $("#col-dir").load(hash); } else { // start page //$("#load").empty(); $('#col-dir').load("inicial.php"); // abre a pagina inicial ao abrir o site } }; //start: function(elementLink){ $(document).ready(function(){ // Initialize history plugin. // The callback is called at once by present location.hash. $.historyInit(pageload); // set onlick event for buttons // if((elementLink.getAttribute('rel') == 'history')){ $("a[@rel='history']").click(function(){ // var hash = this.href; hash = hash.replace(/^.*#/, ''); $("#col-dir").html('<div class="tarjaTit"><img src="imagens/ajaxloader.gif"></div>'); // moves to a new page. // pageload is called at once. $.historyLoad(hash); return false; }); }); </script>Então é isso, gostaria de saber como chamar o link através de uma função, sendo que passe o atributo "rel" através dela. Grato! Seguinte: fiz no link o seguinte:<a href="java script:setaURL('#pagina.php');">PÁGINA</a>e essa função criei assim:<script type="text/javascript"> function setaURL(url){ var link = document.createElement('a'); link.setAttribute('rel','sidebar'); link.setAttribute('href',url); } </script>meu objetivo com isso seria criar um link dentro dessa função para ( com o createElement) e a partir dai setar seu href e seu atributo rel, para assim passar somente a chamada dessa função no flash. Porém não sei agora como posso executar esse link dentro dessa função setaURL, porque ai está apenas criando, queria q executasse o link criado. Se alguém tiver alguma idéia fico agradecido. Caso isso não funcione, também estava pensando se não tem alguma forma de alterar esa parte do código que passei anterirormente:$(document).ready(function(){ // Initialize history plugin. // The callback is called at once by present location.hash. $.historyInit(pageload); // set onlick event for buttons // if((elementLink.getAttribute('rel') == 'history')){ $("a[@rel='history']").click(function(){ // var hash = this.href; hash = hash.replace(/^.*#/, ''); $("#col-dir").html('<div class="tarjaTit"><img src="imagens/ajaxloader.gif"></div>'); // moves to a new page. // pageload is called at once. $.historyLoad(hash); return false; }); });porque é nessa parte ali ( $("a[@rel=history]").click(function()) que ele executa os links com rel=history. Será que não tem como colocar outra coisa, para que pegue sem o history, para que não precise passar o rel pelo flash??
Não sei se fui muito claro em minhas dúvidas, mas se alguém puder ajudar eu agradeço.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.