diff --git a/spark-webapp-runtime/mainwindow.cpp b/spark-webapp-runtime/mainwindow.cpp
index 446013f..2e51f26 100644
--- a/spark-webapp-runtime/mainwindow.cpp
+++ b/spark-webapp-runtime/mainwindow.cpp
@@ -38,7 +38,7 @@ MainWindow::MainWindow(QString szTitle,
     , m_isFullScreen(nFullScreen)
     , m_isFixedSize(nFixSize)
     , m_isHideButton(nHideButtons)
-    , m_widget(new Widget(m_url, this))
+    , m_widget(new Widget(m_url, this, m_title))
     , m_tray(new QSystemTrayIcon(this))
     , btnBack(new DToolButton(titlebar()))
     , btnForward(new DToolButton(titlebar()))
diff --git a/spark-webapp-runtime/widget.cpp b/spark-webapp-runtime/widget.cpp
index 61399f6..aae2e42 100644
--- a/spark-webapp-runtime/widget.cpp
+++ b/spark-webapp-runtime/widget.cpp
@@ -2,16 +2,19 @@
 #include "webengineview.h"
 #include "webenginepage.h"
 
+#include <QDir>
+#include <QWebEngineProfile>
 #include <DApplication>
 
 DWIDGET_USE_NAMESPACE
 
-Widget::Widget(QString szUrl, QWidget *parent)
+Widget::Widget(QString szUrl, QWidget *parent, QString szTitle)
     : QWidget(parent)
     , m_webEngineView(new WebEngineView(this))
     , m_spinner(new DSpinner(this))
     , mainLayout(new QStackedLayout(this))
     , m_szUrl(szUrl)
+    , m_szTitle(szTitle)
 {
     initUI();
     initConnections();
@@ -54,6 +57,15 @@ void Widget::initUI()
     page->setUrl(QUrl());
     if (!m_szUrl.isEmpty()) {
         page->setUrl(QUrl(m_szUrl));
+        // 设置新的 cookie 路径以防止冲突(https://gitee.com/spark-store-project/spark-web-app-runtime/issues/IA759Q)
+        QString cookiePath = QDir::homePath() +
+                            "/.config/spark-webapp-runtime/" +
+                            QUrl::toPercentEncoding(m_szTitle);  // 使用 url 转移以便正确将标题做为文件名
+        QWebEngineProfile *profile = page->profile();
+        if (!QDir(cookiePath).exists()) {
+            QDir().mkpath(cookiePath);
+        }
+        profile->setPersistentStoragePath(cookiePath);
     }
 
     QWidget *spinnerWidget = new QWidget(this);
diff --git a/spark-webapp-runtime/widget.h b/spark-webapp-runtime/widget.h
index 0c80a15..706dc96 100644
--- a/spark-webapp-runtime/widget.h
+++ b/spark-webapp-runtime/widget.h
@@ -17,7 +17,7 @@ class Widget : public QWidget
     Q_OBJECT
 
 public:
-    explicit Widget(QString szUrl = nullptr, QWidget *parent = nullptr);
+    explicit Widget(QString szUrl = nullptr, QWidget *parent = nullptr, QString szTitle = nullptr);
     ~Widget();
 
     QWebEnginePage *getPage();
@@ -46,6 +46,7 @@ private:
     QStackedLayout *mainLayout = nullptr;
 
     QString m_szUrl;
+    QString m_szTitle;
 };
 
 #endif // WIDGET_H