
Security News
PodRocket Podcast: Inside the Recent npm Supply Chain Attacks
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
@wisdomgarden/cloak-plugin-inappbrowser
Advanced tools
Open an in-app browser window for Cloak Framework
CloakPluginInAppBrowser 是 Cloak 框架的插件之一,用于在 Cloak 应用中打再开内部浏览器,执行操作。
安装 Cloak 框架
@wisdomgarden/cloak
具体细节参考 @wisdomgarden/cloak
安装 CloakPluginInAppBrowser 插件
ohpm install @wisdomgarden/cloak-plugin-inappbrowser
在项目 entry/src/main/module.json5
中声明网络访问权限。
示例:
"requestPermissions": [
// ...
{
"name": "ohos.permission.INTERNET",
"reason": "$string:permission_internet_reason",
"usedScene": {
"abilities": [
"EntryAbility"
],
"when": "inuse"
}
},
// ...
]
在 H5 逻辑代码中就可以直接调用该插件
const onOpenUrl = async (url) => {
const browser = Cloak.plugins.InAppBrowser.create(url, "_blank", { clearcache: true, footer: false });
// 监听 loadstart 事件
browser.addEventListener('loadstart', function (event) {
alert("addEventListener loadstart: " + event.url);
});
// 使用 RxJS 风格的订阅方式监听 loadstart 事件
browser.on("loadstart").subscribe(({ url }) => {
alert("on loadstart: " + url);
});
// 监听 loadstop 事件并执行脚本和插入 CSS
browser.on("loadstop").subscribe(({ url }) => {
browser.executeScript({
code: "document.querySelector('.core-card .card-title').innerText = '和 Wisdom Garden 一起开启 OpenHarmony 之旅吧!';document.querySelector('.core-card .card-title').style.fontSize = '2rem';document.querySelector('.core-card .card-title').style.color = 'red';"
});
browser.insertCSS({ code: ".card-summary {color: purple !important;}" });
alert("on loadstop: " + url);
});
// 监听 exit 事件
browser.on("exit").subscribe(() => {
alert("closed");
});
};
interface InAppBrowserPlugin extends Plugin {
currentBrowser: InAppBrowserObject | null;
create(url: string, target: IOpenTarget, options: ICreateBrowserOptions): InAppBrowserObject;
createBrowser(url: string, target: string, options: ICreateBrowserOptions): InAppBrowserObject;
}
interface InAppBrowserObject {
open: () => boolean;
close: () => boolean;
show: () => boolean;
hide: () => boolean;
executeScript: (payload: IBrowserExecutePayload) => Promise<ESObject>;
insertCSS: (payload: IBrowserExecutePayload) => Promise<ESObject>;
addEventListener: (event: IBrowserEvent, handler?: (event: IBrowserEventPayload) => void) => void;
}
interface InAppBrowserInstanceRxjs extends InAppBrowserObject {
on: (event: IBrowserEvent) => {
subscribe: (handler: (event: IBrowserEventPayload) => void) => void;
};
}
export interface IBrowserExecutePayload {
code: string;
}
export type IBrowserEvent = "loadstart" | "loadstop" | "loaderror" | "exit";
export type IOpenTarget = "_self" | "_blank" | "_system" | null;
export interface ICreateBrowserOptions {
clearCache?: boolean | null;
clearcache?: boolean | null;
clearSessionCache?: boolean | null;
clearsessioncache?: boolean | null;
session?: string | null;
closeButtonCaption?: string | null;
closebuttoncaption?: string | null;
footer?: boolean | null;
footerColor?: string | null;
footercolor?: string | null;
hideNavigationButtons?: boolean | null;
hidenavigationbuttons?: boolean | null;
}
export interface IBrowserEventPayload {
event: IBrowserEvent;
url: string;
}
Cloak 是专为 HarmonyOS 设计的混合开发框架,类似 Cordova 和 Capacitor,但具备 更轻量、更高性能 的特性。
该框架可将 Web 应用快速转换为原生应用,同时通过插件机制访问 HarmonyOS 原生能力。
更多关于 Cloak 框架信息,请查看: https://github.com/WisdomGardenInc/Cloak
FAQs
Open an in-app browser window for Cloak Framework
The npm package @wisdomgarden/cloak-plugin-inappbrowser receives a total of 5 weekly downloads. As such, @wisdomgarden/cloak-plugin-inappbrowser popularity was classified as not popular.
We found that @wisdomgarden/cloak-plugin-inappbrowser demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
Security News
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
Product
Socket Firewall is a free tool that blocks malicious packages at install time, giving developers proactive protection against rising supply chain attacks.