Hub 文件

如何在 Spaces 中處理 URL 引數

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

如何在 Spaces 中處理 URL 引數

您可以使用 URL 查詢引數作為資料共享機制,例如,能夠透過特定狀態深層連結到應用程式。

在 Spaces 頁面(https://huggingface.co/spaces/<user>/<app>)上,實際的應用程式頁面(https://*.hf.space/)嵌入在 iframe 中。附加到父頁面 URL 的查詢字串和雜湊在初始載入時會傳播到嵌入式應用程式,因此嵌入式應用程式無需特殊考慮即可讀取這些值。

相反,從嵌入式應用程式更新父頁面 URL 的查詢字串和雜湊要稍微複雜一些。如果您想在 Docker 或靜態 Space 中執行此操作,則需要新增以下 JS 程式碼,該程式碼向父頁面傳送包含 queryString 和/或 hash 鍵的訊息。

const queryString = "...";
const hash = "...";

window.parent.postMessage({
    queryString,
    hash,
}, "https://huggingface.co");

這僅適用於 Docker 或靜態 Spaces。

對於 Streamlit 應用程式,Spaces 會自動同步 URL 引數。Gradio 應用程式可以從 Spaces 頁面讀取查詢引數,但不會將更新的 URL 引數與父頁面同步。

請注意,父頁面 URL 引數在初始載入時傳播到嵌入式應用程式。因此,即使使用此方法更新了父 URL 雜湊,嵌入式應用程式中的 location.hash 也不會更改。

此方法的示例可以在此靜態 Space 中找到,whitphx/static-url-param-sync-example

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.