2010-03-01 7 views
0

J'ai un iframe dans le site qui fait office de navigateur interne. Je sais que les cadres sont généralement une mauvaise idée mais je n'ai pas pu trouver d'alternative. La question est de savoir comment empêcher la navigation du navigateur lorsque l'utilisateur clique sur un lien à l'intérieur de iframe - seulement iframe doit être redirigé, pas tout navigateur. Les sites à l'intérieur de iframe sont limités, très simples - HTML essentiellement statique, peut-être que je peux utiliser javascript pour ajouter target = 'iframe_name' à chaque lien dans le HTML d'iframe si c'est possible ..?Navigation uniquement dans iframe

Répondre

0

Oui, vous pouvez changer tous les liens avec ce code simple:

iFrameText = iFrameText.replace(/(<a\s)/ig, "$1target='iframe_name' ") 

Cela peut cependant créer des problèmes si vous avez « cible » pour définir certains des liens. Je pense que ce dernier prendra la préférence.

+0

Ce n'est pas très stable, et pas vraiment nécessaire. – Pointy

+0

Merci, même si j'ai fait une erreur en supposant que je peux accéder au texte interne de l'iframe - c'est interdit puisque les contenus sont récupérés à partir d'un autre domaine. Je reçois une erreur d'autorisation refusée en Javascript. Y a-t-il d'autres solutions de contournement à envisager? –

+0

Vous pouvez placer le code dans les pages chargées (si cela est possible) et vérifier si vous exécutez dans le cadre - alors vous pouvez changer l'attribut 'target'. En ce qui concerne l'accès JavaScript refusé, je crois qu'il a été fait pour empêcher le document parent caché avec un seul '