gpt4 book ai didi

android - 如何从外部网页访问本地数据?

转载 作者:太空狗 更新时间:2023-10-29 15:23:22 27 4
gpt4 key购买 nike

我正在尝试从外部 HTML 文件访问 assets/css 中的数据。

过程是这样的:

<html> 
<head>
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, height=device-height, user-scalable=yes" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ola</title>

<link rel="stylesheet" type="text/css" href="file:///android_asset/css/main.css" />
<link rel="stylesheet" type="text/css" href="file:///android_asset/css/sch.css" />
<script type="text/javascript" src="file:///android_asset/css/ethan.js" />
<script type="text/javascript" src="scripts/allinone.js" />

</head>
<body>
<input id="btnTest1" name="button" type="button" style="height:0px;width:0px;" />
</body>
</html>

所以这里的问题是,我实际上是使用链接调用 HTML 文件(因为 HTML 文件不在本地)。但是 main.csssch.cssethan.js 本地存在于 assets/css 文件夹中。

我想要做的是加载显然是外部的 allinone.js 并将其他三个文件加载到内部的文件中并运行脚本。

我找到了“file:///android_asset/css/main.css”,但它似乎不起作用。

请帮忙....

最佳答案

我很想知道更多关于这里用例的信息。我的理解是这样的:

  1. 您正在将外部托管的 HTML 文件加载到 Android Webview 中
  2. 您需要覆盖一些本地样式/脚本,它们不能与 HTML 一起托管在外部站点上(大概是因为您是动态生成它们的)。

如果是这样——并且考虑到您设想的使用 file://URI 的逻辑方法不起作用——似乎有两个选项,每个选项都使用 webView API:

  1. 从远程源加载 HTML 文件,修改它,然后将其设置为 webView 的源。找到远程 HTML 的标记并在那里内联注入(inject)您的本地 JS/CSS。
  2. 使用“loadUrl”WebView 方法动态注入(inject)您的 CSS/Javascript(如果 #1 是一个选项,这似乎不必要地复杂)。例如:

mWebView.loadUrl("javascript:injectJavascript(js)");

其中参数“js”是您在 Android 代码中加载的一些内联 Javascript,而 injectJavascript 是远程 HTML 文件中实际将其插入 DOM 的方法。采用类似的方法插入您的 CSS ...

诚然,这些方法有点老套。理想情况下,您会使用 WebView 类的自定义方法,如“addCssToDom”或其他方法,但据我所知,没有此类方法可用。

关于android - 如何从外部网页访问本地数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5114633/

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