无法从第二个包含的 js 文件调用第一个包含的 javascript 文件中的函数

2024-04-20

我正在使用 Apache Cordova 制作 Android 应用程序。在默认使用 Chrome 的 Android 6.0 上一切正常,问题出在使用默认 Android 浏览器的 Android 4.2.2(三星 Galaxy S4 mini)上。

如果我没记错的话,那么应用程序在使用 cordova 编译并安装在 Android 操作系统上后,就会在默认的 Android 浏览器中“启动”。

在默认的 Android 浏览器中,加载时页面为空。但在 Chrome 中一切正常。

问题出在默认的 Android 4.2.2 浏览器中。它无法在 Nokia 1520(使用 Windows Phone 操作系统)的默认浏览器中运行。

索引.html:

<!DOCTYPE html>
<html>
    <head>
        <script src="js/jquery-3.1.1.min.js" type="text/javascript"></script>
        <script src="2.js" type="text/javascript"></script>
        <script src="1.js" type="text/javascript"></script> 
    </head>
    <body>
        <div id="content">
        </div>
    </body>
</html>

1.js:

$(document).ready(function() {
    $('#content').html("<span>test3</span>"); // Works fine (i can see test3 on the page).
    showLogin();
});

2.js(此文件中的任何内容都不起作用,我在页面上看不到 test1 或 test2):

$('#content').html("<span>test1</span>");

function showLogin() {
    $('#content').html(`<span>
                        test2
                        </span>`);
}

我尝试过#1

我也尝试致电showLogin() inside setTimeout():

setTimeout(function() {
    showLogin();
}, 1000);

我尝试过的#2

1.js:

$(document).ready(function() {
    $('#content').html("<span>test3</span>"); // Works fine.
    showLogin();
});

2.js(此文件中没有任何内容):

$(document).ready(function() {
 $('#content').html("<span>test1</span>");

    function showLogin() {
        $('#content').html(`<span>
                    test2
                    </span>`);
    }
});

所以Android 4.2.2原生浏览器有问题。并且调试输出不起作用。你还想继续在这件事上头疼多久?

这是一种解决方法:将文件写入多个文件并合并它们,然后再将它们推送到 .apk,这样您最终只会得到 1 个文件。缺点是您可能很难使用合并的文件进行调试。但是,正如你所说,在 Android 6.0 上它可以工作,所以用它来调试。一些 Google-fu 显示了这些选项:Grunt https://en.wikipedia.org/wiki/Grunt_(software) and Gulp.js https://en.wikipedia.org/wiki/Gulp.js

其他选择是看看是否使用要求 http://requirejs.org/是否有效。看到这个post https://stackoverflow.com/questions/950087/how-do-i-include-a-javascript-file-in-another-javascript-file了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法从第二个包含的 js 文件调用第一个包含的 javascript 文件中的函数 的相关文章

  • Android - 获取所有可用存储的列表

    我正在从互联网将数据下载到我的应用程序中 如果我指定内部内存 Environment getExternalStorageDirectory 我可能会遇到 空间不足 的问题 SD卡安装地址总是因手机而异 所以我想允许用户选择他喜欢的位置 在
  • 将 uiautomator 测试用例与 Android 中的应用程序代码集成

    我正在使用 Eclipse IDE 这是我的 uiautomator 测试用例代码 public class caltest extends UiAutomatorTestCase public void testDemo throws U
  • RxJS 将三元组中的属性组合到表中

    我有一项服务生成类似于三元组的对象 它们将采用以下格式 country attribute value Example country usa attribute population value 100 country mexico at
  • 如何将 !important 添加到 CSS-in-JS (JSS) 类属性?

    我正在尝试使用一些 CSS in JS 类这个答案 https stackoverflow com questions 54525334 how can i change the label size of a material ui te
  • 如何在活动之间传递大型集合(主从流)

    背景 我正在实现一个从网络服务读取有关电影信息的应用程序 该网络服务返回有关每部电影的一些信息 标题 日期 海报网址 导演 演员等 该 Web 服务支持分页 因此电影以 100 部为一组加载 执行 这个想法是显示一个包含所有海报的网格 当用
  • JavaScript 中 == 和 === 的区别[重复]

    这个问题在这里已经有答案了 有什么区别 and 在 JavaScript 中 我也见过 and 运营商 还有更多这样的运营商吗 看看这里 http longgoldenears blogspot com 2007 09 triple equ
  • 在 Android 应用程序中读取 CSV 文件

    我正在开发一个概念验证应用程序 以便我可以在我正在制作的更大的应用程序中实现该功能 我对 Java 和 Android 开发有点陌生 但希望这个问题不会太简单或太复杂 基本上 我试图从 CSV 文件中读取字符串列表 并使其可用于在应用程序的
  • 设备收到 GCM Android 通知但未显示

    尽管通知已在应用程序本身中注册 但我的 Ionic Android 应用程序的 GCM Cloud 消息通知未出现在我的设备的主屏幕中 我正在使用 npm 模块node gcm https www npmjs com package nod
  • 删除鼠标悬停时的 Vue 自定义过滤器

    我想使用 VueJS 2 删除鼠标悬停时的截断过滤器 这是模板中的过滤器 div class eng word english truncate div 这是过滤器本身 filters truncate function value let
  • 添加 X 轴标题会导致 Uncaught RangeError:minimumFractionDigits value is out of range in Chart.js

    我正在尝试向 Chart js 图表的 X 轴添加标题 但是当我将标题属性放在 x 轴上时 出现错误 Uncaught RangeError minimumFractionDigits value is out of range 但它并没有
  • registerForActivityResult TakePicture 未触发

    我尝试使用新的 registerForActivityResult 来拍照 我可以打开相机意图 但拍照后 未触发回调 并且我在 logcat 上看不到任何有关 Activity Result 或错误的信息 我也尝试了RequestPermi
  • 我可以启动 AndroidManifst.xml 文件中未指定的新活动吗

    我正在尝试执行一些动态代码 然后加载一个新类 该类应该是Activity我想启动它 但使用常规startActivity Intent 想要Activity在 AndroidManifest xml 文件中 声明 有什么线索吗 您无法启动未
  • html5 canvas贝塞尔曲线获取所有点

    我喜欢从贝塞尔曲线中得到一些点 我发现 在javascript中查找三次贝塞尔曲线的所有点 https stackoverflow com questions 15397596 find all the points of a cubic
  • 如何使用Android平板模拟器?

    我想开始 Android 平板电脑应用程序开发 我已经使用 1024X600 模拟器创建了一个新的 avd 并启动了 但是当我单击任何应用程序时如何从模拟器返回 是否有任何特定的 api 可用于开发 android 平板电脑应用程序 或者我
  • 抱歉,该视频无法在视频视图中播放?

    freinds 我正在使用以下代码在我的应用程序中显示 mp4 视频 并面临以下问题 我在 google 和 stackoverflow 上看到了很多与这个问题相关的帖子 但每个人都给出了自己的建议 并且没有共同的答案 1 我在模拟器中看不
  • 如何在屏幕的某些位置对齐视图,并在多种屏幕分辨率下保持一致?

    我在调整按钮时遇到了一些问题 我想把它们放在屏幕的 大约 1 3 和 2 3 处 我在下面提供了一个屏幕截图 以使事情更加清晰 我的代码如下
  • 错误:升级到 lombok 1.16.2 后包 javax.annotation 不存在

    我的 android 项目使用 lombok 1 16 0 构建得很好 但是一旦我将依赖项更改为目标 1 16 2 我在使用 lombok 注释的任何地方都会收到以下错误 Error 20 1 error package javax ann
  • ASP.NET MVC 用户名可用性检查

    我已经阅读了很多分步教程 但仍然无法让我的代码工作 我浏览了这个网站上的解决方案 但也没有运气 我不知道我做错了什么 我正在使用 jQuery 想知道用户名 mark 是否被占用 我什至还没有达到数据库链接 HTML
  • JQuery 可拖动图像并保存位置

    好吧 这变得很尴尬 已经搜索并尝试了大约 5 个小时 但我只是在兜圈子 场景很简单 它是用户个人资料的标题图像 可以将其拖动到某个位置 然后将图像的顶部位置保存到数据库中 感谢 Beetroot Beetroot 的 遏制 父级 我开始关注
  • JavaScript 有内置的 stringbuilder 类吗?

    I see a few 代码项目解决方案 http www codeproject com KB scripting stringbuilder aspx 但是JavaScript中有常规的实现吗 如果您必须为 Internet Explo

随机推荐