1e41f4b71Sopenharmony_ci# Web Subsystem ChangeLog 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciThis document describes the web API changes in OpenHarmony 3.2.9.1 SP8 when compared with OpenHarmony 3.2.8.1. 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci## cl.web.1 Deletion of Unnecessary Error Codes 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ciAPIs in the webviewController component of the web subsystem are changed: 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci - Deleted **@throws { BusinessError } 17100007 - Invalid back or forward operation** from the **forward**, **backward**, and **backOrForward** APIs. 10e41f4b71Sopenharmony_ci - Deleted **@throws { BusinessError } 17100009 - Cannot zoom in or zoom out** from the **zoom**, **zoomIn**, and **zoomOut** APIs. 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ciYou need to adapt your application based on the following information. 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci**Change Impacts** 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ciReleased JS APIs are affected. The application can be properly compiled in the SDK environment of the new version, without any adaptation. 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci**Key API/Component Changes** 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ciInvolved APIs: **forward**, **backward**, **backOrForward**, **zoom**, **zoomIn**, and **zoomOut** 21e41f4b71Sopenharmony_ciInvolved component: web 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci**Adaptation Guide** 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ciNo adaptation is required. 26e41f4b71Sopenharmony_ci## cl.web.2 setWebController Input Parameter Changes 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ciSome released web controllers are migrated to the webviewController, and the original webController is deprecated. The following changes are made in API version 9 and later: 29e41f4b71Sopenharmony_ciThe input parameter of **setWebController** is replaced by the new **webviewController**. 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci**Change Impacts** 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ciInput parameters of JS APIs need to be adapted for applications developed based on earlier versions. Otherwise, relevant functions will be affected. 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci**Key API/Component Changes** 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci- Involved API: 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci setWebController(controller: WebviewController): void; 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci- Before change: 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci```js 44e41f4b71Sopenharmony_cisetWebController(controller: WebController): void; 45e41f4b71Sopenharmony_ci``` 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ci- After change: 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ci```js 50e41f4b71Sopenharmony_cisetWebController(controller: WebviewController): void; 51e41f4b71Sopenharmony_ci``` 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci**Adaptation Guide** 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ciThe sample code is as follows: 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ciBefore change: 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ci```js 60e41f4b71Sopenharmony_ci// xxx.ets 61e41f4b71Sopenharmony_ci@Entry 62e41f4b71Sopenharmony_ci@Component 63e41f4b71Sopenharmony_cistruct WebComponent { 64e41f4b71Sopenharmony_ci controller:WebController = new WebController() 65e41f4b71Sopenharmony_ci build() { 66e41f4b71Sopenharmony_ci Column() { 67e41f4b71Sopenharmony_ci Web({ src:'www.example.com', controller: this.controller }) 68e41f4b71Sopenharmony_ci .multiWindowAccess(true) 69e41f4b71Sopenharmony_ci .onWindowNew((event) => { 70e41f4b71Sopenharmony_ci console.log("onWindowNew...") 71e41f4b71Sopenharmony_ci var popController: WebController = new WebController() 72e41f4b71Sopenharmony_ci event.handler.setWebController(popController) 73e41f4b71Sopenharmony_ci }) 74e41f4b71Sopenharmony_ci } 75e41f4b71Sopenharmony_ci } 76e41f4b71Sopenharmony_ci} 77e41f4b71Sopenharmony_ci``` 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ciAfter change: 80e41f4b71Sopenharmony_ci```js 81e41f4b71Sopenharmony_ci// xxx.ets 82e41f4b71Sopenharmony_ci@Entry 83e41f4b71Sopenharmony_ci@Component 84e41f4b71Sopenharmony_cistruct WebComponent { 85e41f4b71Sopenharmony_ci controller: web_webview.WebviewController = new web_webview.WebviewController() 86e41f4b71Sopenharmony_ci build() { 87e41f4b71Sopenharmony_ci Column() { 88e41f4b71Sopenharmony_ci Web({ src:'www.example.com', controller: this.controller }) 89e41f4b71Sopenharmony_ci .multiWindowAccess(true) 90e41f4b71Sopenharmony_ci .onWindowNew((event) => { 91e41f4b71Sopenharmony_ci console.log("onWindowNew...") 92e41f4b71Sopenharmony_ci var popController: web_webview.WebviewController = new web_webview.WebviewController() 93e41f4b71Sopenharmony_ci event.handler.setWebController(popController) 94e41f4b71Sopenharmony_ci }) 95e41f4b71Sopenharmony_ci } 96e41f4b71Sopenharmony_ci } 97e41f4b71Sopenharmony_ci} 98e41f4b71Sopenharmony_ci``` 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci## cl.web.3 getUnfilterendLinkUrl API Name Change 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ciThe **getUnfilterendLinkUrl** API is misspelled and should be changed to **getUnfilteredLinkUrl**. 103e41f4b71Sopenharmony_ci 104e41f4b71Sopenharmony_ci**Change Impacts** 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ciThe JS API name needs to be adapted for applications developed based on earlier versions. Otherwise, relevant functions will be affected. 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci**Key API/Component Changes** 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ci- Involved API: 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci getUnfilteredLinkUrl(): string; 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ci- Before change: 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci```js 117e41f4b71Sopenharmony_cigetUnfilterendLinkUrl(): string; 118e41f4b71Sopenharmony_ci``` 119e41f4b71Sopenharmony_ci 120e41f4b71Sopenharmony_ci- After change: 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci```js 123e41f4b71Sopenharmony_cigetUnfilteredLinkUrl(): string; 124e41f4b71Sopenharmony_ci``` 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ci**Adaptation Guide** 127e41f4b71Sopenharmony_ci 128e41f4b71Sopenharmony_ciThe JS API name needs to be adapted for applications developed based on earlier versions. The new API name is used to replace the original one. Otherwise, relevant functions will be affected. 129