Javascript 带引号的Android webView.loadUrl

Javascript 带引号的Android webView.loadUrl,javascript,java,android,json,Javascript,Java,Android,Json,使用下面的java和javascript代码;我在这一行document.getElementById('txtCardSwipePOS')上得到一个错误。value=“[SWIPED_CARD]”。如果我将[刷卡]周围的双引号改为单引号,它就会起作用 但是如果我的字符串中有单引号,它就不起作用了。理想情况下,我希望在“”[刷卡]”前后加上双引号,这样json编码就可以正常工作;但通过带有双引号的url加载javascript似乎不起作用。有办法解决这个问题吗 String credit

使用下面的java和javascript代码;我在这一行
document.getElementById('txtCardSwipePOS')上得到一个错误。value=“[SWIPED_CARD]”。如果我将
[刷卡]
周围的双引号改为单引号,它就会起作用

但是如果我的字符串中有单引号,它就不起作用了。理想情况下,我希望在“
”[刷卡]”
前后加上双引号,这样json编码就可以正常工作;但通过带有双引号的url加载javascript似乎不起作用。有办法解决这个问题吗

    String creditCardSwipe = new String (cardData);

    creditCardSwipe = StoreWebActivity.jsonString(creditCardSwipe);
    String javascriptCode = "";
    try {
        javascriptCode = StoreWebActivity.convertStreamToString(getResources().openRawResource(R.raw.credit_card_swipe));
    } catch (NotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    int API = android.os.Build.VERSION.SDK_INT;
    javascriptCode = javascriptCode.replace("[SWIPED_CARD]", creditCardSwipe);

    //old way of injecting javascript
    if (API < 19)
    {
        webView.loadUrl("javascript:"+javascriptCode);
    }
    else //Android 19 or above
    {
        webView.evaluateJavascript(javascriptCode,null);
    }

    //Sometimes swipes can be detected as valid, but in reality aren't so request swipe again
    myUniMagReader.startSwipeCard();
    isWaitingForSwipe = true;

问题是,当转换为json时,它会自动添加双引号。因此,从js文件中删除引号将其修复。

问题是,在转换为json时,它会自动添加双引号。因此,从js文件中删除引号就解决了这个问题。

对于java端需要清理的所有文本,str.replace(“\”,“";”)和str.replace(“'”,“';”)怎么样?(第一个用于双精度,第二个用于单精度)问题是,如果任何javascriptCode中有双引号,就会引起问题。有没有办法解决这个问题?我想这是因为js代码是用javascript启动的:XX我相信你给我的代码也是javascript。str.replace(“\”,“";”)和str.replace(“'”,“';”)怎么样对于所有需要在java端清理的文本?(第一个是double,第二个是single)问题是javascriptCode中是否有双引号;它引起了一些问题。有办法解决这个问题吗?我想这是因为js代码是用javascript:XX启动的,我相信你给我的代码也是javascript。
if (document.getElementById('txtCardSwipePOS'))
{
    document.getElementById('txtCardSwipePOS').value = "[SWIPED_CARD]";
}

if (document.getElementById('divProgressOverlay'))
{
    document.getElementById('divProgressOverlay').style.display = '';
}

if (document.getElementById('imgProgress'))
{
    ProgressImg = document.getElementById('imgProgress');
    setTimeout('ProgressImg.src = ProgressImg.src', 0);
}

if (document.getElementById('frmCheckout'))
{
    //Need to use setTimeout for form submission so loading indicators have time to display (this is for Android)
    setTimeout(function()
    {
        document.getElementById('frmCheckout').submit();
    },0);
}