标签: referenceerror

safari ReferenceError:无法找到变量

我在自己的DIV中有以下内容

<script>
function newfunc()
{
alert("here");
}
</script>
<button type="button" onclick="newfunc()">Press me</button>
Run Code Online (Sandbox Code Playgroud)

在IE和FF上工作正常,但在Safari(至少Safari 4.0.5)上它说"ReferenceError无法找到变量" - 现在内容被动态加载到DIV中似乎Safari无法看到函数定义在这个DIV中 - 但是,如果我将该功能newfunc()放在主HTML页面上(即不在DIV中),那么按下按钮会调用该功能.

好像Safari没有看到已添加到DIV的Javascript函数.

任何帮助,将不胜感激.

亚当

javascript safari referenceerror

3
推荐指数
1
解决办法
2万
查看次数

Javascript参考错误功能

每次复选框更改其值时,我都想调用Javascript函数.我对选择类型的输入做同样的事情,它工作得很好.两个输入都在一个表中.这是调用第一个函数的一个元素:

<td>
    <select name="minuteEnd" id="minuteEnd" onChange="calculateWorkTime()">'.$dropDown_minuteEnd.'
    </select>
</td>
Run Code Online (Sandbox Code Playgroud)

以及调用第二个函数的部分

<td>
    <input type="checkbox" name="deleteShift" id="deleteShift" onChange="updateSubmitButton()" /><br />
    <input type="checkbox" name="deleteShiftConfirm" id="deleteShiftConfirm" onChange="updateSubmitButton()" />.
</td>
Run Code Online (Sandbox Code Playgroud)

然后我在单独的脚本标签中定义了这两个函数,但我也尝试在一个中定义它们,但没有解决问题.因为我并不总是需要它们,所以我为每个函数调用一个PHP函数.这些PHP函数是

drawScriptCalculateWorkTime();
drawScriptUpdateSubmitbutton();
Run Code Online (Sandbox Code Playgroud)

实际的Javascript代码是这样的:

function drawScriptCalculateWorkTime()
{
    echo'
    <script>
        function calculateWorkTime()
        {
            //I work (My name can be found)
        }
    </script>
    ';
}

function drawScriptUpdateSubmitbutton()
{
    echo'
    <script>
        function updateSubmitButton()
        {
            //I do not work. I get the error: ReferenceError: updateSubmitButton is not defined
            //This is my code
            var delete = document.getElementById("deleteShift").checked;
            var deleteConfirm = document.getElementById("deleteShiftConfirm").checked; …
Run Code Online (Sandbox Code Playgroud)

javascript php function referenceerror

3
推荐指数
1
解决办法
367
查看次数

EJS包含在单独的ejs文件中定义的功能

我正在尝试包含一个ejs文件,该文件包含用于设置视图的功能。这些功能被定义为可以使用的助手。我试过使用:

<% include helpers.ejs %>
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用此文件中的函数时:

<% module_start('$body', [{name:'display',value:'block'}], 'body'); %>
Run Code Online (Sandbox Code Playgroud)

我得到错误:

Reference Error: module_start is not defined
Run Code Online (Sandbox Code Playgroud)

当我将代码从“ helpers.ejs”复制到我的原始视图文件“ test.ejs”时,它可以正常工作。我经历了几个答案,但仍然感到困惑,在这种情况下我做错了什么。

感谢您的帮助。

ejs referenceerror

3
推荐指数
1
解决办法
1022
查看次数

在对象文字中访问上面定义的变量会导致ReferenceError

var g = {
    lang: "ttt",
    l: function(){
        console.log(lang);
    }
}

console.log(g.l());
Run Code Online (Sandbox Code Playgroud)

ReferenceError:未定义lang

为什么lang未定义?

javascript variables referenceerror

2
推荐指数
1
解决办法
621
查看次数

将 JQuery 与 Node.js “ReferenceError: $ is not defined”一起使用

我正在尝试使用此框架在 Node.js 中为 Twitch 构建一个简单的 IRC 机器人https://github.com/Schmoopiie/twitch-irc,它可以连接到 API 并检查某些事情,在本参考中,我将检查机器人所在的当前频道上的关注者。除了我遇到错误之外,我一直在下面记录此错误。

[31mcrash[39m: ReferenceError: $ is not defined
    at client.<anonymous> (C:\Users\Exuviax\Desktop\node.js\bot.js:157:9)
    at client.emit (events.js:117:20)
    at C:\Users\Exuviax\Desktop\node.js\node_modules\twitch-irc\library\client.js:657:30
    at Object.createChannelUserData (C:\Users\Exuviax\Desktop\node.js\node_modules\twitch-irc\library\data.js:56:2)
    at client._handleMessage (C:\Users\Exuviax\Desktop\node.js\node_modules\twitch-irc\library\client.js:651:22)
    at Stream.emit (events.js:95:17)
    at drain (C:\Users\Exuviax\Desktop\node.js\node_modules\twitch-irc\node_modules\irc-message-stream\node_modules\through\index.js:36:16)
    at Stream.stream.queue.stream.push (C:\Users\Exuviax\Desktop\node.js\node_modules\twitch-irc\node_modules\irc-message-stream\node_modules\through\index.js:45:5)
    at LineStream.<anonymous> (C:\Users\Exuviax\Desktop\node.js\node_modules\twitch-irc\node_modules\irc-message-stream\index.js:22:16)
    at LineStream.emit (events.js:95:17)
Run Code Online (Sandbox Code Playgroud)

这是我用来运行的代码,以检查 API

var irc = require('twitch-irc');
var colors = require('colors');
var jQuery = require('jQuery')
var jsdom = require("jsdom");
var window = jsdom.jsdom().parentWindow;

jsdom.jQueryify(window, "http://code.jquery.com/jquery-2.1.3.min.js", function () {
  var $ = window.$;
  $("body").prepend("<h1>The title</h1>");
  console.log($("h1").html()); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery node.js referenceerror

2
推荐指数
1
解决办法
2万
查看次数

执行自定义函数时出现“引用不存在”错误

我正在 Google Apps Script 中编写一个函数,似乎我需要解决的最后一个错误是当我调用我的函数时 Google 表格中的“引用不存在”错误。我不知道该怎么办,因为我的代码似乎没有问题。

这就是我的代码现在的样子。它不完整,因为我需要为用户输入更改它,但这是一个测试。

在谷歌表格单元格中,我输入 =sortingtesting()

function sortingtesting() 
{
  var pInfo1 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','o','p','q','r','s']
  var pInfo2 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','o','p','q','r','s']
  var pInfo3 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','o','p','q','r','s']
  var pWO = ['1','','','2','','','3','4','5','6','7','','','8','','','9','10']
  var pSearch = ['c', 'b', 'a']

  var WO = [];
  var Info1 = [];
  var Info2 = [];
  var Info3 = [];
  var Search = [];
  
  for(var i = 0; i < 18; i++)
    WO[i] = pWO[i];
  
  for(var i = 0; i < 18; i++)
  {
      Info1[i] = pInfo1[i];
  }
  
  for(var …
Run Code Online (Sandbox Code Playgroud)

google-sheets referenceerror google-apps-script google-sheets-custom-function

2
推荐指数
1
解决办法
6651
查看次数

QML报告ReferenceError:未在添加到上下文的C ++对象上定义XYZ

我最近开始学习QML(很久以前就尝试过),但是我一直坚持Qt C++代码与之交互的方式QML,反之亦然。

我有一个Counter具有以下标题:

#include <QObject>
#include <QTimer>

class Counter : public QObject
{
    Q_OBJECT
    Q_PROPERTY(int count
           READ getCount
           WRITE setCount
           NOTIFY signalCountChanged)
public:
    Counter(QObject *parent = Q_NULLPTR);
    int getCount();
    void setCount(int count);
signals:
    void signalCountChanged(int);
public slots:
    void slotStart();
private slots:
    void slotTimeout();
private:
    int count;
    QTimer *timer;
};
Run Code Online (Sandbox Code Playgroud)

main.cpp的如下:

#include <QtGui/QGuiApplication>
#include <QtQml/QQmlContext>
#include <QtGui/QGuiApplication>
#include <QtQuick/QQuickItem>
#include <QtQuick/QQuickView>
#include "counter.h"

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, …
Run Code Online (Sandbox Code Playgroud)

javascript c++ qt referenceerror qml

2
推荐指数
1
解决办法
1315
查看次数

车把没有定义

我是JS的新手,之前从未尝试过Handlebars.我正在尝试一个教程中的一个非常简单的例子.我已经handlebars-v4.0.5.js从Handlebars网站下载并将其包含在我的页面中,如下所示,以及我预编译的模板name-table.js.我正在努力完成本教程,但我不能,因为当我运行以下代码时,我得到ReferenceError: Handlebars is not defined了我不能理解的生活,如果我从Handebars自己的网站下载的文件无论如何都是有效的.

<html>
    <head>
        <meta charset='UTF-8'>
        <title>Test Page!</title>
        <script type='text/javascript'>
            function init() {
                document.getElementById('button').addEventListener('click', buttonClick, false);
            }
            function buttonClick() {
                var injection = Handlebars.templates['name-table'];
                document.getElementById('button').innerHTML = injection;
                console.log('hello, world.');
            }

            window.addEventListener('load', init, false);
        </script>
    </head>
    <body>
        <button id='button'>Button</button>
        <div id='content'></div>

        <script type='text/javascript' rel='js/handlebars-v4.0.5.js'></script>
        <script type='text/javascript' rel='js/name-table.js'></script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

编辑: 我标记的答案解决了问题. 此代码中出现了另一个错误,我想让任何阅读此内容的人知道var injection此代码中定义的是函数,而不是我想到的字符串.如果rel更改src为给出的答案,并且如果我们使用document.getElementById('button').innerHTML = injection();(注意parens),此代码将起作用.

javascript referenceerror handlebars.js

2
推荐指数
1
解决办法
1万
查看次数

为什么此 ReferenceError 会阻止所有执行,而此 TypeError 不会?

在阅读PluralSight 教程时,据称语法错误会阻止执行前面的行。2();2 = 3;都作为例子给出。

但在 Chrome 的控制台中测试此行为后,仅2 = 3;阻止了之前的行的执行。

2();这是(我正在使用Shift+Enter)的输出:

console.log("foo 1");
2();
console.log("foo 2");
VM224:1 foo 1
VM224:2 Uncaught TypeError: 2 is not a function
    at <anonymous>:2:2
Run Code Online (Sandbox Code Playgroud)

这是为了2 = 3;

console.log("foo 1");
2 = 3;
console.log("foo 2");
VM202:2 Uncaught ReferenceError: Invalid left-hand side in assignment
Run Code Online (Sandbox Code Playgroud)

如您所见,第一行被执行2();foo 1打印出来。但对于2 = 3;,则没有打印任何内容。

那么,为什么一种类型的错误会阻止打印和执行先前的代码,而另一种则不会,并且这种错误与浏览器有关?

javascript syntax-error typeerror referenceerror

2
推荐指数
1
解决办法
240
查看次数

创建 Web Worker 时,Safari 中的 JavaScript“ReferenceError:找不到变量:Worker”

我在 JavaScript 代码中使用 Web Worker,我使用 Worker 的类如下所示:

class EnemyMoveCalculater {
    constructor() {
        this.worker = null;
    }

    startMoveCalculation(boardData, nextPlayer, jokerReady, enemyMoveHandlerCallback) {
        this.worker = new Worker('js/calculateEnemyMoves.js');
        this.worker.onmessage = function(e) {
            this.worker.terminate();
            this.worker = null;
            enemyMoveHandlerCallback(e.data);
        }.bind(this);
        this.worker.postMessage([boardData, nextPlayer, jokerReady]);
    }

    terminateMoveCalculation() {
        if (this.worker) this.worker.terminate();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的网站可在 Firefox(适用于 Windows 和 Android)、Edge 和 Samsung 互联网浏览器中运行。但是,当“startMoveCalculation”在 Safari(版本 12.1.2)中运行时,我收到以下错误:

ReferenceError: Can't find variable: Worker
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?

javascript safari referenceerror

2
推荐指数
1
解决办法
2107
查看次数