GVKun编程网logo

在 html 中从 app.js 调用函数时未定义函数并出错(html中调用js中的function)

1

在本文中,我们将给您介绍关于在html中从app.js调用函数时未定义函数并出错的详细内容,并且为您解答html中调用js中的function的相关问题,此外,我们还将为您提供关于ActionCont

在本文中,我们将给您介绍关于在 html 中从 app.js 调用函数时未定义函数并出错的详细内容,并且为您解答html中调用js中的function的相关问题,此外,我们还将为您提供关于ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j、angular – ng new hello错误:路径“/app/app.module.ts”不存在.路径“/app/app.module.ts”不存在、angular 在加载中,为什么 html 中的内容为什么替换不掉 index 中 loading....... 中的 loading..、APP 自动化 01 - 基础操作 API-UIautomatorviewer-APP 定位 - 元素等待 - APP 模拟手势高级操作的知识。

本文目录一览:

在 html 中从 app.js 调用函数时未定义函数并出错(html中调用js中的function)

在 html 中从 app.js 调用函数时未定义函数并出错(html中调用js中的function)

如何解决在 html 中从 app.js 调用函数时未定义函数并出错

我正在尝试在 html 中的 mouSEOver 和 onclick 上调用两个函数。这是我的 home.html 文件:

  1. <script type="text/javascript" src="../app.js"></script>
  2. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  3. <div class="ProfileImage" onmouSEOver="test2()" onclick="ajaxmagic()"> </div>

这是我的 app.js 文件:

  1. var createError = require(''http-errors'');
  2. var express = require(''express'');
  3. var path = require(''path'');
  4. var cookieParser = require(''cookie-parser'');
  5. var logger = require(''morgan'');
  6. var app = express();
  7. // view engine setup
  8. app.set(''views'',path.join(__dirname,''views''));
  9. app.set(''view engine'',''jade'');
  10. app.use(logger(''dev''));
  11. app.use(express.json());
  12. app.use(express.urlencoded({ extended: false }));
  13. app.use(cookieParser());
  14. app.use(express.static(path.join(__dirname,''public'')));
  15. // catch 404 and forward to error handler
  16. app.use(function(req,res,next) {
  17. next(createError(404));
  18. });
  19. // error handler
  20. app.use(function(err,req,next) {
  21. // set locals,only providing error in development
  22. res.locals.message = err.message;
  23. res.locals.error = req.app.get(''env'') === ''development'' ? err : {};
  24. // render the error page
  25. res.status(err.status || 500);
  26. res.render(''error'');
  27. });
  28. module.exports = app;
  29. var server = app.listen(8085,function(){
  30. console.log(''listening on *:8085'');
  31. });
  32. var io = require(''socket.io'')(server);
  33. function test2() {
  34. console.log("TeSTING");
  35. }
  36. function ajaxmagic() {
  37. $.ajax({
  38. url : ''FetchSongs.PHP'',type : ''POST'',data : {username: "maxolgin"},dataType : ''json'',success : function (result) {
  39. var i;
  40. for (i = 0; i < result.length; i++) {
  41. var table = document.getElementById("myMixTable");
  42. table.style.borderCollapse = "seperate"
  43. var rowCount = table.rows.length;
  44. console.log(table.rows.length)
  45. var row = table.insertRow(0);
  46. var row2 = table.insertRow(1);
  47. var cell1 = row.insertCell(0);
  48. cell1.rowSpan = "2"
  49. cell1.style.width = "75px"
  50. cell1.setAttribute("class","MixImage")
  51. var image = document.createElement("img");
  52. initialString = result[i].songImage
  53. outString1 = initialString.replace("{w}","500")
  54. outStringFinal = outString1.replace("{h}","500")
  55. image.src = outStringFinal
  56. image.style.width = "75px"
  57. cell1.appendChild(image)
  58. var cell2 = row.insertCell(1);
  59. cell2.style.width = "300px"
  60. var title = document.createElement("td");
  61. title.innerHTML = result[i].songTitle
  62. title.style.fontSize = "16"
  63. cell2.appendChild(title);
  64. var artistCell = row2.insertCell(0);
  65. var artistTitle = document.createElement("td");
  66. artistTitle.innerHTML = "Drizzy"
  67. artistTitle.style.fontSize = "13px"
  68. artistCell.appendChild(artistTitle);
  69. var timestampCell = row.insertCell(2);
  70. timestampCell.rowSpan = "2"
  71. timestampCell.style.horizAlign = "right"
  72. var timestamp = document.createElement("td");
  73. timestamp.style.horizAlign = "right"
  74. timestampCell.appendChild(timestamp);
  75. }
  76. },error : function () {
  77. alert("error123");
  78. }
  79. });

如你所见,ajaxMagic 和 test2 都是明确定义的。在鼠标悬停时,调用 test2() 时我得到 Uncaught ReferenceError: test2 is not defined。并且 onClick 会弹出一个警告,上面写着 MySite.com says "Error"

为什么我不能调用这些函数?

ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j

ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j

如何解决ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j

我正在Rails上执行此应用程序,页面加载正常,但在控制台中显示:

Started GET "/vendor/assets/stylesheets/bootstrap.min.css" for ::1 at 2020-08-17 09:09:51 -0500

Started GET "/vendor/assets/javascripts/bootstrap.min.js" for ::1 at 2020-08-17 09:09:51 -0500
ActionController::RoutingError (No route matches [GET] 
"/vendor/assets/stylesheets/bootstrap.min.css"):
ActionController::RoutingError (No route matches [GET] 
"/vendor/assets/javascripts/bootstrap.min.js"):

在我的供应商文件夹中,我同时拥有文件夹,javascript和样式表,并分别位于各自的bootsrtrap.min中。 即使在application.html.erb中,我也有以下内容:

  <link href="vendor/assets/stylesheets/bootstrap.min.css" rel="stylesheet">
  <%= csrf_Meta_tags %>
  <%= stylesheet_link_tag    ''application'',media: ''all'',''data-turbolinks-track'': ''reload'' %>
  <%= javascript_include_tag ''application'',''data-turbolinks-track'': ''reload'' %>

</head>
<body>

  <!-- Navigation -->
  <nav>
    <div>
      <ahref="#">Instagram Clone</a>
      <buttontype="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
        <span></span>
      </button>
      <divid="navbarResponsive">
        <ul>
          <li>
            <ahref="#">Home
              <span>(current)</span>
            </a>
          </li>
          <li>
            <ahref="#">About</a>
          </li>
          <li>
            <ahref="#">Services</a>
          </li>
          <li>
            <ahref="#">Contact</a>
          </li>
        </ul>
      </div>
    </div>
  </nav>

  <!-- Page Content -->
  <div>
    <div>
      <div>
        <%= yield %>
      </div>
    </div>
  </div>

  <!-- Bootstrap core JavaScript -->
  <!--<script src="vendor/jquery/jquery.slim.min.js"></script>-->
  <script src="vendor/assets/javascripts/bootstrap.min.js"></script>
    
</body>
</html>

在js和CSS这两个应用程序文件中,我都放置了“ require bootsrtrap.min”,即使该错误仍然出现在控制台中。 会是什么?

解决方法

RoR不使用目录作为文件夹结构指示。因为有资产装载者。您应该将5s或更少的css导入application.css中,并将js导入application.js中。并使用自己的助手添加捆绑文件:

1。用纱安装靴子

yarn add bootstrap @popperjs/core jquery

npm i bootstrap @popperjs/core jquery

栏位不超过5

2。在Assets Pipeline中导入文件

app / assets / stylesheets / application.css:

//...
require bootstrap/dist/css/bootstrap.min
//...

但是,如果需要,我建议使用SCSS并仅导入所需的样式。

app / assets / javascript / application.js:

//...
//= require jquery
//= require @popperjs/core
//= require bootstrap/dist/js/bootstrap.min
//...

3。在布局中导入资产

app / views / layout / application.html.erb:

<head>
...
  <%= stylesheet_link_tag ''application'',media: ''all'' %>
</head>
<body>
...
  <%= javascript_include_tag ''application'' %>
</body>

使用webpack滚动6

2。在application.scss和application.js中导入Bootstrap

app / javascript / stylesheets / application.scss:

//...
import ''bootstrap''
//...

app / javascript / packs / application.js:

import ''jquery''
import ''popper.js''
import ''bootstrap''
import ''../stylesheets/application''

3。在布局中导入捆绑包

<head>
...
  <%= stylesheet_pack_tag ''application'',media: ''all'',''data-turbolinks-track'': ''reload'' %>
  <%= javascript_pack_tag ''application'',''data-turbolinks-track'': ''reload'' %>
</head>

之后,您应该可以在所有应用程序中使用引导程序!

,

[解决方案]因此,在我的HTML(application.html.erb)内部,我有两个对js和css文件的调用:

<script src="assets/javascripts/bootstrap.min.js"></script>
  <%= javascript_include_tag ''application'',''data-turbolinks-track'': ''reload'' %>       
<link href="assets/stylesheets/bootstrap.min.css" rel="stylesheet">
  <%= csrf_meta_tags %>
  <%= stylesheet_link_tag    ''application'',''data-turbolinks-track'': 
  ''reload'' %>

正如您在上面看到的那样,在使用javascript的情况下,我有一个使用脚本的调用,而另一个使用了的调用,两者都造成了问题,所以您只需要评论一个,我就对该脚本进行评论对于我的java文件和CSS文件,一个。 像这样:

  <!--<link href="assets/stylesheets/bootstrap.min.css" rel="stylesheet">-->
    <!--<script src="assets/javascripts/bootstrap.min.js"></script>-->

对我来说,解决了这个问题,我真的尝试了所有事情,这就是解决方案哈哈。

angular – ng new hello错误:路径“/app/app.module.ts”不存在.路径“/app/app.module.ts”不存在

angular – ng new hello错误:路径“/app/app.module.ts”不存在.路径“/app/app.module.ts”不存在

我在角度创建新项目时面临问题.
当我运行新的myapp命令时,我得到以下命令

新的你好

Error: Path "/app/app.module.ts" does not exist.
Path "/app/app.module.ts" does not exist.

谁能帮我吗???

解决方法

这是解决方案

Please make sure that your new folder have write permission

如果您使用的是ubuntu,请将以下命令运行到该文件夹

sudo chmod 644 -R foldername

然后运行新的appname

并检查您的节点版本

angular 在加载中,为什么 html 中的内容为什么替换不掉 index 中 <app-root>loading.......</app-root > 中的 loading..

angular 在加载中,为什么 html 中的内容为什么替换不掉 index 中 loading....... 中的 loading..

APP 自动化 01 - 基础操作 API-UIautomatorviewer-APP 定位 - 元素等待 - APP 模拟手势高级操作

APP 自动化 01 - 基础操作 API-UIautomatorviewer-APP 定位 - 元素等待 - APP 模拟手势高级操作

--- 恢复内容开始 ---

 先连接手机:

adb connect 127.0.0.1:7555

APP 基础操作 API

前置代码

# server 启动参数

desired_caps = {}
desired_caps[''platformName''] = ''Android''
desired_caps[''platformVersion''] = ''5.1''
desired_caps[''deviceName''] = ''192.168.56.101:5555''
desired_caps[''appPackage''] = ''com.android.settings''
desired_caps[''appActivity''] = ''.Settings''
 
# 解决输入中文
desired_caps[''unicodeKeyboard''] = True
desired_caps[''resetKeyboard''] = True

# 声明driver对象
driver = webdriver.Remote(''http://127.0.0.1:4723/wd/hub'', desired_caps)
  1. 安装 apk 到手机

    driver.install_app(''app路径'')
  2. 手机中移出 apk

    driver.remove_app(’APP包名‘)
  3. 判断 app 是否已经安装

    driver.is_app_install(’APP包名‘)

     

  4. 发送文件到手机

      import base64
    with open("./push07.txt","r",encoding="utf-8") as f:
        data=str(base64.b64encode(f.read().encode("utf-8")),"utf-8")
        driver.push_file("/sdcard/push07.txt",data)
    参数:
        /sdcard/push07.txt:手机设备上的路径(例如:/sdcard/a.txt)
        data:文件内数据,要求base64编码
        Python3.x中字符都为unicode编码,而b64encode函数的参数为byte类型,需要先转码;
          生成的数据为byte类型,需要将byte转换回去

     

  5. 从手机中拉取文件

    import base64
    data = driver.pull_file(path) # 返回数据为base64编码
    print(str(base64.b64decode(data),''utf-8'')) # base64解码
    参数:
        path: 手机设备上的路径

     

  6. 获取当前屏幕内元素结构

    driver.page_source
    作用:返回当前页面文档,判断特点元素是否存在

 

手机控件查看工具 UIautomatorviewer

作用:用来扫描和分析 Android 应用程序的 UI 控件的工具.

 

APP 元素定位操作

name Value
id id 属性值
Class class 属性值
Xpath xpath 表达式

文字定位:driver.find_element_by_xpath ("//*[@text='' 定位文字 '']")

driver.find_element_by_xpath ("//*[contains (@text,'' 部分文字 '')]")

 

WebDriverWait 显示等待操作

在一个超时时间范围内,每隔一段时间去搜索一次元素是否存在,
如果存在返回定位对象,如果不存在直到超时时间到达,报超时异常错误。
方法:WebDriverWait(driver, timeout, poll_frequency).until(lamda x:x.find_element_by_id(''id属性值''))
  参数:
      1.driver:手机驱动对象
      2.timeout:搜索超时时间
      3.poll_frequency:每次搜索间隔时间,默认时间为0.5s
      4.method:定位方法(匿名函数)

 

APP 元素信息操作 API

  1. 点击元素 .click ()

  2. 发送数据到输入框 .send_keys ()

  3. 清空输入框内容 .clear ()

  4. 获取元素的文本内容 .text

  5. 获取元素的属性值 .get_attribute (value) #value 是元素属性名

  6. 获取元素在屏幕上的坐标 .location

  7. 获取启动名和包名

    获取包名方法:driver.current_package
    获取启动名:driver.current_activity

     

APP 元素事件操作 API

  1. swip 滑动事件

    从一个坐标位置滑动到另一个坐标位置
    # 滑动持续5秒的时间
    driver.swipe(188,659,148,248,5000)

     

  2. scroll 滑动事件

     driver.scroll(开始元素,结束元素)

     

  3. drag 拖拽事件

    driver.drag_and_drop(el1,el2)
  4. 应用置于后台

APP放置后台,模拟热启动
# app置于后台5s后,再次展示当前页面
driver.background_app(5)

 

APP 模拟手势高级操作

TouchAction是AppiumDriver的辅助类,主要针对手势操作,比如滑动、长按、拖动等,
原理是将一系列的动作放在一个链条中发送到服务器,服务器接受到该链条后,解析各个动作,逐个执行。

⚠️所有手势都要通过执行函数才会运行.
  1. 轻敲操作

    方法:tap(element=None, x=None, y=None)
    方法:perform() # 发送命令到服务器执行操作
  2. 按的操作

    方法:press(el=None, x=None, y=None)
    方法:release() # 结束动作,手指离开屏幕
    再 preform()

     

  3. 等待操作

    wait(ms=0)

     

  4. 手指长按操作

    long_press(el=None, x=None, y=None, duration=1000)
    默认为1000毫秒

     

  5. 手指移动操作

     方法:move_to(el=None, x=None, y=None).perform()
    参数:
        1.el:定位的元素
        2.x:相对于前一个元素的X轴偏移量
        3.y:相对于前一个元素的Y轴偏移量

     

     

 

 

--- 恢复内容结束 ---

我们今天的关于在 html 中从 app.js 调用函数时未定义函数并出错html中调用js中的function的分享已经告一段落,感谢您的关注,如果您想了解更多关于ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j、angular – ng new hello错误:路径“/app/app.module.ts”不存在.路径“/app/app.module.ts”不存在、angular 在加载中,为什么 html 中的内容为什么替换不掉 index 中 loading....... 中的 loading..、APP 自动化 01 - 基础操作 API-UIautomatorviewer-APP 定位 - 元素等待 - APP 模拟手势高级操作的相关信息,请在本站查询。

本文标签:

上一篇SAP Marketing Engagement Management

下一篇您需要为您的 APK 或 Android App Bundle 使用不同的版本代码(你需要为此应用包安装新证书)