如何存储点击的超链接的URL

时间:2011-07-13 09:18:10

标签: javascript jquery html spring javascript-events

每当用户尝试从当前页面导航而不在当前页面上保存数据时,我都会显示一个警告对话框。它的工作正常现在我想在用户点击Ok(在警告对话框中)时调用一个函数(Spring控制器,它的java函数来处理URL映射),然后他应该重定向到所需的页面。登记/> 让我试着让它变得简单(它也让我感到困惑)
1)用户在注册页面上,他/她做了一些更改,但没有保存 2)现在用户点击了任何其他链接,例如他点击了About Us链接 3)现在我想执行我的弹簧控制器 4)执行控制器后,用户应导航到About Us页面 为此我需要保存点击超链接的值并将其传递给我的弹簧控制器 那么如何存储点击链接的URL(上例中的About Us页面的URL)?

PS:如果有人能够编辑我的问题以便更容易理解,我将非常感激。

3 个答案:

答案 0 :(得分:1)

页面上的所有链接都指向您的spring应用程序吗?如果在任何地方都没有外部链接(指向外部资源) - 那么您可以编写一个简单的Filter,您可以将所请求的页面保存到会话中。

否则,如果存在指向外部资源的链接,则需要将其从www.external.com重写为www.my.com\MagicController?requestedPage=www.external.com。 Controller将保存链接并将HTTP标头中的重定向发送到请求的页面。这是一种常见的做法 - 即使谷歌这样做(查看谷歌搜索结果链接,看看它是什么样的。)

已添加:很奇怪,但谷歌仅在极少数情况下这样做,所以你可能无法在那里找到一个例子。

答案 1 :(得分:1)

如果你使用jQuery,你可以附加一个事件处理程序来onclick到页面中的所有链接,一旦点击,处理程序应该将href属性保存到某个变量。然后在窗口上创建一个onbeforeunload事件监听器,您可以在其中使用所需的值,调用控制器或将值保存在cookie或其他内容中。

答案 2 :(得分:0)

不要求保留所选标签的href。一件事用每个标签附加相同的javascript函数并传递“this”作为函数的参数。

javascript的功能是

function Attach(ele)  
{

// 1. Find the handle of selected tag and store in the variable. 
   ele=$(ele);

// 2. Find the value of href
   var href=ele.attr("href");

// 3. Perform server side operation you want.

// 4. redirect to another page.
   window.location=href;

  return false;

}