1# @ohos.enterprise.browser(浏览器管理)(系统接口) 2 3本模块提供浏览器管理能力,包括设置/取消浏览器策略、获取浏览器策略等。 4 5> **说明:** 6> 7> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 9> 本模块接口仅可在Stage模型下使用。 10> 11> 本模块接口仅对[设备管理应用](../../mdm/mdm-kit-guide.md#功能介绍)开放,需将[设备管理应用激活](js-apis-enterprise-adminManager-sys.md#adminmanagerenableadmin)后调用,实现相应功能。 12> 13> 当前页面仅包含本模块的系统接口,其他公开接口参见。其他公开接口参见[@ohos.enterprise.browser](js-apis-enterprise-browser.md)。 14 15## 导入模块 16 17```ts 18import { browser } from '@kit.MDMKit'; 19``` 20 21## browser.setPolicies 22 23setPolicies(admin: Want, appId: string, policies: string, callback: AsyncCallback<void>): void 24 25指定设备管理应用为指定的浏览器设置浏览策略,使用callback异步回调。 26 27**需要权限:** ohos.permission.ENTERPRISE_SET_BROWSER_POLICY 28 29**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 30 31 32**参数:** 33 34| 参数名 | 类型 | 必填 | 说明 | 35| -------- | ---------------------------------------- | ---- | ------------------------------- | 36| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 37| appId | string | 是 | 应用ID,用于指定浏览器。 | 38| policies | string | 是 | 浏览器策略,当参数policies为空字符串时,表示取消指定浏览器的策略。 | 39| callback | AsyncCallback<void> | 是 | 回调函数。当接口调用成功,err为null,否则为错误对象。 | 40 41**错误码**: 42 43以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 44 45| 错误码ID | 错误信息 | 46| ------- | ---------------------------------------------------------------------------- | 47| 9200001 | The application is not an administrator application of the device. | 48| 9200002 | The administrator application does not have permission to manage the device. | 49| 201 | Permission verification failed. The application does not have the permission required to call the API. | 50| 202 | Permission verification failed. A non-system application calls a system API. | 51| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 52 53**示例:** 54 55```ts 56import { Want } from '@kit.AbilityKit'; 57let wantTemp: Want = { 58 bundleName: 'com.example.myapplication', 59 abilityName: 'EntryAbility', 60}; 61let appId: string = 'com.example.myapplication'; 62let policies: string = '{"InsecurePrivateNetworkRequestsAllowed":{"level":"mandatory","scope":"machine","source":"platform","value":true},"LegacySameSiteCookieBehaviorEnabledForDomainList":{"level":"mandatory","scope":"machine","source":"platform","value":["[*.]"]}}'; 63browser.setPolicies(wantTemp, appId, policies, (err) => { 64 if (err) { 65 console.error(`Failed to set browser policies. Code is ${err.code}, message is ${err.message}`); 66 return; 67 } 68 console.info('Succeeded in setting browser policies.'); 69}); 70``` 71 72## browser.setPolicies 73 74setPolicies(admin: Want, appId: string, policies: string): Promise<void> 75 76指定设备管理应用为指定的浏览器设置浏览策略,使用promise异步回调。 77 78**需要权限:** ohos.permission.ENTERPRISE_SET_BROWSER_POLICY 79 80**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 81 82 83**参数:** 84 85| 参数名 | 类型 | 必填 | 说明 | 86| ----- | ----------------------------------- | ---- | ------- | 87| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 88| appId | string | 是 | 应用ID,用于指定浏览器。 | 89| policies | string | 是 | 浏览器策略,当参数policies为空字符串时,表示取消指定浏览器的策略。 | 90 91**返回值:** 92 93| 类型 | 说明 | 94| --------------------- | ------------------------- | 95| Promise<void> | 无返回结果的Promise对象。当指定设备管理应用设置浏览器策略失败时,会抛出错误对象。 | 96 97**错误码**: 98 99以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 100 101| 错误码ID | 错误信息 | 102| ------- | ---------------------------------------------------------------------------- | 103| 9200001 | The application is not an administrator application of the device. | 104| 9200002 | The administrator application does not have permission to manage the device. | 105| 201 | Permission verification failed. The application does not have the permission required to call the API. | 106| 202 | Permission verification failed. A non-system application calls a system API. | 107| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 108 109**示例:** 110 111```ts 112import { Want } from '@kit.AbilityKit'; 113import { BusinessError } from '@kit.BasicServicesKit'; 114let wantTemp: Want = { 115 bundleName: 'com.example.myapplication', 116 abilityName: 'EntryAbility', 117}; 118let appId: string = 'com.example.myapplication'; 119let policies: string = '{"InsecurePrivateNetworkRequestsAllowed":{"level":"mandatory","scope":"machine","source":"platform","value":true},"LegacySameSiteCookieBehaviorEnabledForDomainList":{"level":"mandatory","scope":"machine","source":"platform","value":["[*.]"]}}'; 120browser.setPolicies(wantTemp, appId, policies).then(() => { 121 console.info('Succeeded in setting browser policies.'); 122}).catch((err: BusinessError) => { 123 console.error(`Failed to set browser policies. Code is ${err.code}, message is ${err.message}`); 124}); 125``` 126 127## browser.getPolicies 128 129getPolicies(admin: Want, appId: string, callback: AsyncCallback<string>): void 130 131指定管理员应用获取指定浏览器的策略,使用callback异步回调。 132 133**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 134 135 136**参数:** 137 138| 参数名 | 类型 | 必填 | 说明 | 139| -------- | ---------------------------------------- | ---- | ------------------------------- | 140| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 141| appId | string | 是 | 应用ID,用于指定浏览器。 | 142| callback | AsyncCallback<string> | 是 | 回调函数,当接口调用成功,err为null,否则为错误对象。 | 143 144**错误码**: 145 146以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 147 148| 错误码ID | 错误信息 | 149| ------- | ---------------------------------------------------------------------------- | 150| 9200001 | The application is not an administrator application of the device. | 151| 202 | Permission verification failed. A non-system application calls a system API. | 152| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 153 154**示例:** 155 156```ts 157import { Want } from '@kit.AbilityKit'; 158let wantTemp: Want = { 159 bundleName: 'com.example.myapplication', 160 abilityName: 'EntryAbility', 161}; 162let appId: string = 'com.example.myapplication'; 163browser.getPolicies(wantTemp, appId, (err, result) => { 164 if (err) { 165 console.error(`Failed to get browser policies. Code is ${err.code}, message is ${err.message}`); 166 return; 167 } 168 console.info(`Succeeded in getting browser policies, result : ${JSON.stringify(result)}`); 169}); 170``` 171 172## browser.getPolicies 173 174getPolicies(admin: Want, appId: string): Promise<string> 175 176指定管理员应用获取指定浏览器的策略,使用promise异步回调。 177 178**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 179 180 181**参数:** 182 183| 参数名 | 类型 | 必填 | 说明 | 184| ----- | ----------------------------------- | ---- | ------- | 185| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 186| appId | string | 是 | 应用ID,用于指定浏览器。 | 187 188**返回值:** 189 190| 类型 | 说明 | 191| --------------------- | ------------------------- | 192| Promise<string> | Promise对象,返回浏览器策略。 | 193 194**错误码**: 195 196以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 197 198| 错误码ID | 错误信息 | 199| ------- | ---------------------------------------------------------------------------- | 200| 9200001 | The application is not an administrator application of the device. | 201| 202 | Permission verification failed. A non-system application calls a system API. | 202| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 203 204**示例:** 205 206```ts 207import { Want } from '@kit.AbilityKit'; 208import { BusinessError } from '@kit.BasicServicesKit'; 209let wantTemp: Want = { 210 bundleName: 'com.example.myapplication', 211 abilityName: 'EntryAbility', 212}; 213let appId: string = 'com.example.myapplication'; 214browser.getPolicies(wantTemp, appId).then((result) => { 215 console.info(`Succeeded in getting browser policies, result : ${JSON.stringify(result)}`); 216}).catch((err: BusinessError) => { 217 console.error(`Failed to get browser policies. Code is ${err.code}, message is ${err.message}`); 218}); 219``` 220