2010-07-16 4 views
0

Je travaille sur une application Web ASP.NET. Il y a une page de facture qui a deux liens vers différents fichiers PDF d'un même projet de loi. Lorsque vous cliquez sur l'un des liens, vous accédez à une page ViewPDF.aspx qui affiche le pdf. Il y a aussi une option pour voir les deux dans un écran partagé afin que vous puissiez les comparer. Lorsque vous cliquez sur ce lien, vous accédez à BillSplit.aspx qui contient un jeu de cadres et deux cadres pointant vers ViewPDF.aspx. Tout cela fonctionne parfaitement.Détection et fermeture de cadres en utilisant Javascript

Le problème est que si une erreur se produit lors de l'extraction du pdf. L'application a une page d'erreur qui a quelques liens dans l'application. Si vous utilisez l'un d'eux, vous pouvez revenir dans l'application et continuer, mais maintenant dans le cadre. L'URL indique toujours BillSplit.aspx mais l'application ignore complètement cela, car les cadres sont des éléments HTML et non des contrôles asp.net.

Ce que je voudrais faire à ce stade est de détecter que vous êtes revenu à l'application et de fermer le cadre que vous n'utilisez pas. Essentiellement, je voudrais vous rediriger loin de BillSplit.aspx et à la page que vous demandez réellement. Je suis sûr que cela devrait être fait en Javascript soit sur la page BillSplit ou sur les pages que vous visiterez plus tard.

Donc je suppose que ce que je demande est, est-il un moyen de s'assurer que la page BillSplit.aspx et ses deux cadres pointent seulement à ViewPDF.aspx? Merci!

Répondre

0

si la page et les cadres à l'intérieur des cadres se trouvent sur le même domaine.

Vous pouvez peut-être enregistrer un script de démarrage lorsque vous arrivez à la page d'erreur.

ce que le script va faire est quelque chose comme vérifier s'il est dans un cadre avec quelque chose comme le top.document de toute façon si elle ne vous pouvez rediriger dans le client vers une autre page que vous voulez. ou même à la page d'erreur. de cette façon, il ne sera pas afficher à l'intérieur des cadres.

cela aidera-t-il?

+1

je travaillais ce que vous dites et voici ce que je suis venu avec: (! Top.window.location.pathname = window.location.pathname && window.location.pathname = "/ViewPDF.aspx") si { top.window.location = window.location; } Il semble fonctionner parfaitement si placé sur chaque page que je ne veux pas que les cadres à aller. – Peter