假设我有一个chrome扩展程序,可以查看用户所在的网址,这个chrome扩展程序是否可以在网址中查找特殊的分隔符(如散列片段)来表示要执行的操作?这是一个例子:
用户点击链接
https://google.com#signaltoextension
然后,扩展程序可以检查#signaltoextension的URL并采取一些措施。
这种方法的问题是,如果url上已经有一个哈希片段怎么办?
我可以做这样的事吗?https://google.com#preexistinghashfragment##signaltoextension
基本上,我正在寻找一个合适的分隔符,允许没有扩展名的用户跟踪链接而不会产生任何后果,但是如果用户有扩展名来进行操作。
这是我的用例:
具有扩展名的用户位于以下链接:
https://google.com
他希望将一些信息与此链接相关联,以便与其他用户共享。可以说,在扩展中,他将信息“google rocks”与google.com关联,扩展程序将此信息与用户的用户名一起发送到我的服务器,假设他的用户名是linkguy。然后linkguy与另一个用户共享链接https://google.com{delimiter}linkguy
。其他用户访问此链接,扩展程序看到分隔符,查询服务器google.com {delimiter} linkguy,然后扩展程序显示“google rocks”。如果没有该扩展程序的用户点击该链接,则应该只是按照该链接进行操作。
答案 0 :(得分:0)
嗯,不。只能有一个片段标识符,您将打破现有的片段标识符。
此外,片段标识符通常由服务器(分析跟踪)和客户端代码处理,因此传递片段标识符不能保证“没有后果”。
原则上,您可以尝试使用WebRequest捕获这样的“特殊”标识符,并在发送请求之前将其删除。但对于那些没有延期的人来说,这会破坏它。