Merge pull request #501 from alibaba/feat/iife-cdn-without-auto-init

feat: add autoInit switch for demo CDN script
This commit is contained in:
Simon
2026-05-11 19:39:19 +08:00
committed by GitHub
4 changed files with 41 additions and 29 deletions

View File

@@ -53,6 +53,8 @@ Fastest way to try PageAgent with our free Demo LLM:
| Global | https://cdn.jsdelivr.net/npm/page-agent@1.8.1/dist/iife/page-agent.demo.js |
| China | https://registry.npmmirror.com/page-agent/1.8.1/files/dist/iife/page-agent.demo.js |
Add `?autoInit=false` to load the script without creating the demo agent automatically. You can then instantiate it with `new window.PageAgent(...)`.
### NPM Installation
```bash

View File

@@ -52,6 +52,8 @@
| Global | https://cdn.jsdelivr.net/npm/page-agent@1.8.1/dist/iife/page-agent.demo.js |
| China | https://registry.npmmirror.com/page-agent/1.8.1/files/dist/iife/page-agent.demo.js |
在 URL 后添加 `?autoInit=false` 可只加载脚本,不自动创建 Demo Agent之后可通过 `new window.PageAgent(...)` 手动初始化。
### NPM 安装
```bash

View File

@@ -3,8 +3,12 @@
*/
import { PageAgent, type PageAgentConfig } from './PageAgent'
const currentScript = document.currentScript as HTMLScriptElement | null
const currentScriptURL = currentScript?.src ? new URL(currentScript.src) : null
const autoInit = currentScriptURL?.searchParams.get('autoInit') !== 'false'
// Clean up existing instances to prevent multiple injections from bookmarklet
if (window.pageAgent) {
if (autoInit && window.pageAgent) {
window.pageAgent.dispose()
}
@@ -17,16 +21,14 @@ const DEMO_MODEL = 'qwen3.5-plus'
const DEMO_BASE_URL = 'https://page-ag-testing-ohftxirgbn.cn-shanghai.fcapp.run'
const DEMO_API_KEY = 'NA'
const currentScript = document.currentScript as HTMLScriptElement | null
// in case document.x is not ready yet
setTimeout(() => {
if (autoInit) {
setTimeout(() => {
let config: PageAgentConfig
let showPanel = true
if (currentScript) {
console.log('🚀 page-agent.js detected current script:', currentScript.src)
const url = new URL(currentScript.src)
if (currentScriptURL) {
const url = currentScriptURL
const model = url.searchParams.get('model') || DEMO_MODEL
const baseURL = url.searchParams.get('baseURL') || DEMO_BASE_URL
const apiKey = url.searchParams.get('apiKey') || DEMO_API_KEY
@@ -49,4 +51,5 @@ setTimeout(() => {
}
console.log('🚀 page-agent.js initialized with config:', window.pageAgent.config)
})
})
}

View File

@@ -58,6 +58,11 @@ export default function QuickStart() {
code={`<script src="DEMO_CDN_URL" crossorigin="true"></script>`}
language="html"
/>
<p className="text-sm text-gray-600 dark:text-gray-300 mb-3">
{isZh
? '在 URL 后添加 ?autoInit=false 可只加载脚本,不自动创建 Demo Agent之后可通过 new window.PageAgent(...) 手动初始化。'
: 'Add ?autoInit=false to load the script without creating the demo agent automatically. You can then instantiate it with new window.PageAgent(...).'}
</p>
<table className="w-full border-collapse text-sm">
<thead>
<tr className="border-b border-gray-200 dark:border-gray-700">