# 步骤一：创建并配置自建应用

在飞书开放平台中开发网页应用时，你需要先创建一个企业自建应用，并添加网页应用能力。

## 操作步骤

1. 登录[飞书开发者后台](https://open.feishu.cn/app)。

2. 在开发者后台首页，单击 **创建企业自建应用**，填写应用名称、描述以及图标信息，然后单击 **创建**。

![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/982ed179d5d5e2e37d8cb2de18d537b0_lQv5n6omkd.png?height=1526&lazyload=true&maxWidth=600&width=2512)

3. 在应用详情页，进入 **应用能力** > **添加应用能力** 页面。

4. 添加 **网页应用** 能力。

![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/f9d9b9a2985bfb738f7e2e23e4220198_WS6DqhFQQ1.png?height=1316&lazyload=true&maxWidth=600&width=2860)

5. （可选）进入 **应用能力** > **网页应用** 页面，配置网页应用主页地址。

- 如果你已开发完成了网页应用程序，且获取了程序的公网访问地址，则可以直接在此处配置。

- 如果你还没有开发网页应用程序，则当前步骤无需填写地址，可参考指南提供的示例操作（[步骤二（可选）：鉴权调用 JSAPI](https://open.feishu.cn/document/uYjL24iN/uEzM4YjLxMDO24SMzgjN)、[步骤三（可选）：应用免登流程](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step-3)）完成应用的开发后，再返回此处填写程序对应的访问地址。
    - 实际生产环境中，此处配置的地址需要是公网地址。在开发调试阶段可以使用反向代理工具 ngrok 获得，使用方式参见[配置事件订阅](https://open.feishu.cn/document/home/develop-a-bot-in-5-minutes/step-5-configure-event-subscription)中的步骤 1~3。

- 若公司网络安全策略不允许使用反向代理工具，或想快速体验接入流程，可暂时先使用本地环境调试，填写 `http://127.0.0.1:3000`即可。

![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/388bca0b7d15b3803493677560119bd5_QQUh7nIbkV.png?height=1272&lazyload=true&maxWidth=600&width=2306)

6. （可选）配置在飞书客户端内打开桌面端主页后，跳转其他新页面的打开方式。

- 在飞书 V7.4 以下的版本中，网页应用主页会默认在飞书内打开，通过 `window.open` 或者 `<a target="_blank">` 方式跳转新页面将会跳转至浏览器打开。
	- 在飞书 V7.4 及以上版本中，网页应用主页仍然默认在飞书内打开，你可以选择 `window.open` 或者 `<a target="_blank">` 方式跳转新页面时的打开方式为 **在飞书内新标签页打开** 或 **在浏览器中打开**。warning
   		**注意**：桌面端的主页默认在飞书客户端内打开，如需配置主页在浏览器中打开，需要在 URL 中拼接 `lk_jump_to_browser=true` 参数，具体说明参考[配置网页跳转浏览器打开](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/web-app-open-ability/configure-webpage-to-open-in-browser)。如果你配置了主页在浏览器中打开，则在本步骤中只能选择 **在浏览器中打开**。

![image.png](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/d33e2f9d785b71b43e08abfaad28a31c_Ab2oxveTfr.png?height=632&lazyload=true&maxWidth=600&width=1686)

- 如果选择 **在飞书内新标签页打开**，这种打开场景下，网页应用的表现有一些特性：
    		- 为了便于区分一个应用打开的不同标签页，这种场景下打开的应用，在标签页中显示的名称会展示网页本身定义的名称，而不再是应用名称。
    		- 如果用户将网页应用的某个标签页固定到主导航中，则下次重新打开时，会直接进入**标签页链接对应的页面**，而不再是从网页应用主页开始进入。你需要针对这种场景做好兼容（例如，任意子页面都需考虑是否需要进行用户登录和网页鉴权）。

- 如果选择 **在浏览器中打开**，那么网页应用打开的表现将与飞书版本 V7.4 以下保持一致，即：
    		- 标签页中显示的是网页应用的名称。
    		- 如果用户将该标签页固定到主导航，则下次重新打开时，会重新进入**网页应用的主页**。如果网页应用的主页变更了，则也会进入新的主页。

## 常见问题

本章节主要包含桌面端主页打开方式相关的常见问题。

### 配置桌面端主页打开方式的影响范围是什么？

1、网页应用通过中 `window.open` 或者 `<a target="_blank">` 方式跳转新页面受该打开方式的影响，通过 [openSchema API](https://open.feishu.cn/document/uYjL24iN/ukzN4IjL5cDOy4SO3gjM) 跳转新页面时不受到该打开方式的控制。

2、如果网页应用通过`window.open` 或者 `<a target="_blank">` 方式 [打开普通网页Applink](https://open.feishu.cn/document/uAjLw4CM/uYjL24iN/applink-protocol/supported-protocol/open-the-web-view-in-feishu-to-access-the-specified-url)，则在飞书端内打开该普通网页，且该普通网页中跳转新页面不再受到网页应用打开方式的控制，与飞书会话中打开该链接的打开方式一致。

3、飞书中**独立窗口方式**打开的网页应用跳转 暂时**不受到**该打开方式的影响，通过 `window.open` 或者 `<a target="_blank">` 方式打开新页面页仍然跳转浏览器。

### 当网页应用打开的新页面中配置的鉴权结果指向其他应用，页面将会如何打开？

如果网页应用 A 打开的新页面中做了[网页应用鉴权逻辑](https://open.feishu.cn/document/uYjL24iN/uEzM4YjLxMDO24SMzgjN)，鉴权结果为应用 B，则该新页面中打开页面跳转浏览器还是飞书内打开（受到应用 B 的设置控制，不再受到应用 A 控制）。

### 配置桌面端主页打开方式后，应用首页仍然在飞书内打开，我如何配置可以让应用首页直接跳转到浏览器打开？

在飞书 V7.7 及以上版本中，你可以进入[开发者后台](https://open.feishu.cn/app) > 应用详情页 > **网页应用** 配置页，在 **桌面端主页** 配置的 URL 后拼接参数 `lk_jump_to_browser=true`，后续该网页应用可直接跳转浏览器打开。URL 示例值：`https://open.feishu.cn/?lk_jump_to_browser=true`。

更多详细说明，参考 [配置网页跳转浏览器打开](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/web-app-open-ability/configure-webpage-to-open-in-browser)。
