标签: url-fragment

196
推荐指数
6
解决办法
17万
查看次数

冒号冒号冒号 (:~:) 在 URL 哈希片段中是什么意思?

最近,我注意到,有时当我在谷歌搜索,谷歌可以通过将如哈希片段突出网页的相关部分

https://example.com/ #:~:text=You%20may%20use%20this%20domain%20in%20literature%20without%20prior%20coordination%20or%20asking%20for%20permission。

它会滚动到“您可以在没有事先协调或征得许可的情况下在文献中使用这个域。” 并突出显示它。

我想知道这是什么魔法,它是任何 RFC 或 Web 标准的一部分,还是我正在使用的谷歌浏览器?还是 Google 注入/提供的某种 JavaScript 补丁?

url w3c google-chrome rfc url-fragment

19
推荐指数
0
解决办法
492
查看次数

如何检测 Next.js 中 URL 哈希的变化?

我们如何检测 Next.js 项目的 URL 哈希变化?

我不想每次 slug 更改时都重新加载页面。

我无法使用,<Link>因为我的所有数据都来自数据库

示例:
http://example/test#url1
当单击从 到 的 标签时
http://example.com/test#url2

尝试了下面的方法,但这似乎仅适用于路径更改。

import React, { useEffect,useState } from 'react';
import { useRouter } from 'next/router'

const test = () => {
    const router = useRouter();

    useEffect(() => {
        console.log(router.asPath);
    }, [router.asPath]);

    return (<></>);
};

export default test;
Run Code Online (Sandbox Code Playgroud)

url reactjs next.js url-fragment

16
推荐指数
2
解决办法
2万
查看次数

Python - 使用 Flask 获取 URL 片段标识符

我的 Flask 程序收到以下请求,其中包含一些数据#

https://som.thing.com/callback#data1=XXX&data2=YYY&data3=...
Run Code Online (Sandbox Code Playgroud)

我需要读取data1参数,但这似乎不起作用:

@app.route("/callback")
def get_data():
    data = request.args.get("data1")
    print(data)
Run Code Online (Sandbox Code Playgroud)

python url query-parameters flask url-fragment

3
推荐指数
1
解决办法
4159
查看次数

当 url 包含本地文件的片段时,Javafx getHostServices().showDocument 不起作用

我正在开发一个 javafx 应用程序,要求是单击超链接时,它会在浏览器中打开给定的 url。我有这个与以下工作

url = "files/file.html";
getHostServices().showDocument(url);
Run Code Online (Sandbox Code Playgroud)

但是,当 url 包含自动聚焦页面特定部分的 id 时,浏览器永远不会启动。没有错误,似乎没有记录任何内容表明出现任何问题,浏览器永远不会打开。无法找到遇到此问题的其他人或任何潜在的解决方案。

太棒了;如何让以下内容实际工作并在浏览器中打开?

String url = "files/file.html#section";
getHostServices().showDocument(url);
Run Code Online (Sandbox Code Playgroud)

另外,这似乎只是本地文件的问题。以这种方式打开 https 网站效果很好

更新: 感谢 Sai 的精彩帖子,听起来官方的结论是,这是一个比 Java 更深层次的问题,并且只是出于与数据注入相关的安全原因而被阻止。不会假装理解,但我找到了一个基于此链接的解决方案(再次由 Sai 在下面共享),更具体地说,是在该答案中共享的此链接,并希望将其包含在未来任何困惑的人中。我还更新了标题以更具体地解决问题。

所以基本上,获得所有功能的唯一真正的方法是创建一个临时文件,然后打开该文件,自动重定向到带有片段的正确文件,然后删除它。基本代码如下:

public static void openWebPage(String url) {
    String tmpPath = "path/to/.tmp/temp.html";
    File tempFile = File(tmpPath);
    if (!tempFile.exists()) {
        tempFile.mkdirs();
    } else {
        tempFile.delete();
    }
    tempFile.createNewFile();
    FileWriter tempFileWriter = FileWriter(tmpPath);
    tempFileWriter.write("<html><meta http-equiv=Refresh content=\"0; url=$url\"><body></body></html>");
    tempFileWriter.close();
    Main.getStaticHostServices().showDocument(tmpPath);
}
Run Code Online (Sandbox Code Playgroud)

java javafx kotlin url-fragment

3
推荐指数
1
解决办法
72
查看次数