什么可能是一种有效的方法来判断用户在浏览时是否保持在同一个域(使用Firefox扩展)?

时间:2012-06-05 13:31:33

标签: gwt firefox-addon

在浏览网站时,例如www.example.com,用户可能会输入一些子域名www.sub.example.com

但基本webdomain保持不变。

在我的firefox扩展程序中,我需要开发一个“session”,它会保持活动状态,直到用户保持在同一个域中。

一个简单的解决方案是首先从网址中提取域名。然后用“。”分割字符串。作为代币。因此,我们得到第二种情况的子和示例,而第二种情况的示例。然后我可以比较两者。如果有任何相同,我推断域是相同的。

虽然这可能有用,但这看起来更像是黑客攻击,可能容易出现误报/否定。

针对同样的问题,是否有更有效/更清洁的解决方案?

信息:我正在使用GWT构建扩展程序

1 个答案:

答案 0 :(得分:2)

您应该使用nsIEffectiveTLDService,它会正确处理sub.example.co.uk之类的内容。您可以将nsIURI实例传递给nsIEffectiveTLDService.getBaseDomain()aAdditionalParts参数应为零。对于http://sub.example.co.uk/foo,您将获得example.co.uk - 实际的“域名”部分。然后,您只需比较两个网址的域名。