Hub 文件
如何在 Spaces 中處理 URL 引數
加入 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
。