【问题标题】:Is it possible to mask/ hide the lengthy URL and just to display the domain name alone?是否可以屏蔽/隐藏冗长的 URL 并仅显示域名?
【发布时间】:2011-08-02 00:33:00
【问题描述】:

是否可以屏蔽/隐藏冗长的 URL,只在 IE、Firefox、Chrome 等浏览器的地址栏中单独显示域名?

请提出建议。

问候 古拉夫

【问题讨论】:

  • 哪种语言?您可以使用正则表达式来执行此操作..
  • 你想达到什么目的?
  • 用户即使更改了网站中的页面,也应该在地址栏中单独看到域名。
  • @Raze2dust:感谢您的回复...您提供的链接与我的查询无关。

标签: java php javascript url web


【解决方案1】:
domain = re.match(r'https?://(?:www\.)?([^/]+)', full_url).group(1)

这个正则表达式提取域 - 没有www.,但如果存在任何其他子域。 它使用 python re 模块,但它应该很容易适应另一种语言。

【讨论】:

  • 非常感谢您的回复...实际上我正在尝试的是“即使更改网站中的页面,用户也应该在地址栏中单独看到域名”。跨度>
  • 如果不使用不太容易访问且容易惹恼用户的框架,这是不可能的。最好使用一个漂亮的 url 结构,这样你就不必为你的 url 感到羞耻。
【解决方案2】:

你不应该那样做。
这违背了技术和可用性的基础。

每个页面都应该有其唯一的地址,让用户可以将其加入书签、将链接发送给朋友、毕竟浏览您的网站

【讨论】:

  • 关于 URL 可用性的补充阅读:URL as UI
【解决方案3】:

您想为此使用 AJAX。在您的索引文件中,包含一个使用 XMLHttpRequest 的 javascript 文件(或者,如果您不想太低级,您可以使用类似 jQuery.load 的东西)来加载您的内容。使用 jQuery,您可以执行以下操作:

<script type="text/javascript">
$(document).ready(function(){
    $('a').click(function(event){
        event.preventDefault();
        $('#content').load($(this).attr('href'));
        return false;
    });
});
</script>

但是,不要轻易这样做 - 这可能会破坏搜索引擎优化和许多其他事情,因为有些人可能会关闭 javascript 等。

请记住,这是一个非常简单的示例 - 您必须处理外部 URI 之类的事情(浏览器中的 CSRF 保护意味着您不能 XMLHttpRequest 另一个域)。也许您可以添加一个名为 link_internal 的 CSS 类,然后将其添加到您的 jQuery 选择器等中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 2011-08-08
    • 2014-07-21
    • 2014-01-18
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    相关资源
    最近更新 更多