gpt4 book ai didi

javascript - 在 Javascript.replace 中使用变量

转载 作者:行者123 更新时间:2023-12-02 16:20:55 27 4
gpt4 key购买 nike

我正在尝试在 android 的 webview 中注入(inject) javascript 的替换方法。

此代码有效:

       {
mWebView.loadUrl("javascript:(function(){" +
"document.body.innerHTML = document.body.innerHTML.replace('hello', 'hi');" +
"})()");
}

但是,我不想将字符串放入方法中,而是想使用变量。我尝试使用正则表达式,但它似乎不起作用。

        {
String old = "hello";
String new = "hi";

mWebView.loadUrl("javascript:(function(){" +
"var ol = new RegExp(old,'g');" +
"document.body.innerHTML = document.body.innerHTML.replace(ol, new);" +
"})()");
}

我的代码有问题吗?

最佳答案

将变量传递到这样的字符串时,必须引用变量

{
String old = "hello";
String _new = "hi";

mWebView.loadUrl("javascript:(function(){" +
"var ol = new RegExp("+old+",'g');" +
"document.body.innerHTML = " +
"document.body.innerHTML.replace(ol, " +_new+ ");" +
"})()"
);
}

请注意,new 是保留关键字,不应用作变量名

关于javascript - 在 Javascript.replace 中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29132902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com