嗨,我相对较新的Javascript所以我的问题可能很容易.我为我的公司开发了多个webapps.我经常遇到的一个问题是Javascript错误.我知道如何使用try/catch来处理它们.
我想要在服务器上写一个日志文件,或者给用户一些他们可以发送给我的东西,而不需要任何调试知识.这意味着,必须通知用户在两种情况下都发生了错误.
我有一个想法是使用try catch并使用我在这里找到的代码:https://stackoverflow.com/a/6055620/3581748,以便用户向我发送堆栈跟踪.
例:
<button id="demo" onClick="errorHandling()">Produce error</button>
<script>
function errorHandling() {
try {
document.getElementById("somethingNotExisting").value * 2;
} catch (_err) {
window.prompt("Copy to clipboard: Ctrl+C, Enter", _err.stack);
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
或者在这里:https://jsfiddle.net/n79xv6nt/
哪个适用最多次.
我有时使用jQuery在我的"main"页面中嵌入脚本文件.例:
<div id="forScript"></div>
<script>
$("#forScript").load('scripts/additionalScript.php');
</script>
Run Code Online (Sandbox Code Playgroud)
如果我使用上面的代码(下面的代码"我已经做了什么").我没有得到一个堆栈跟踪,告诉我发生错误的位置.它反而指向一个jQuery文件.Google Chrome控制台会显示真实的堆栈跟踪.另一个问题是,我拿到亚麻布后如何找到文件?在我的IDE中,线条是不同的,因为中间有PHP.
是否有可能为此案件获得良好的错误消息?(最好不要自己抛出错误)如何访问附加脚本并查看chrome看到的相同亚麻布?你会如何通知用户/记录错误?
在一个页面上显示多个条形图
Barcharts主要是Linecharts.作为Linecharts,我可以在同一页面上显示两个图表而没有问题.我使用了两个单独的drawChart()函数.然后我将图表转换为Barcharts(材料设计).现在它只显示一个图表.我已经搜索了一个答案并发现了这个:如何在一个页面上添加两个Google图表? 我遵循这个,它仍然无法正常工作.
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1.1", {
packages: ["Bar"]
});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data1 = new google.visualization.DataTable();
data1.addColumn("string", "Key1");
data1.addColumn("number", "Value1");
data1.addRows([
['2015.01', 65.5],
['2015.02', 52.6],
['2015.03', 45.5],
['2015.04', 40.7],
['2015.05', 68.7],
['2015.06', 56.4],
['2015.07', 38.4],
['2015.08', 45.2],
['2015.09', 45.2],
['2015.10', 4.8]
]);
var data2 = new google.visualization.DataTable();
data2.addColumn("string", "Key2");
data2.addColumn("number", "Value2");
data2.addRows([
['2015.01', 300.08],
['2015.02', 455.08],
['2015.03', 454.62],
['2015.04', 362.93],
['2015.05', 527.12],
['2015.06', 588.28],
['2015.07', 409.93],
['2015.08', 432.08],
['2015.09', …Run Code Online (Sandbox Code Playgroud) 我想通过使用upload/ download文件.在看起来非常有前途.sftpphpphpseclib-library
我将我的conposer.json改为:
{
"require": {
"nicolab/php-ftp-client":"*",
"php-curl-class/php-curl-class":"*",
"phpseclib/phpseclib":"*"
}
}
Run Code Online (Sandbox Code Playgroud)
然后我更新了我的目录.Composer将库安装在vendor文件夹中.
问题是我无法创建新的SFTP-Object.
Fatal error: Class 'SFTP' not found in...
Run Code Online (Sandbox Code Playgroud)
我也尝试NET_SFTP过类名,但这也不起作用.有一点我不明白为什么在它上面,它声明classname是NET_SFTP在源中明确调用的SFTP.
自动加载似乎不起作用.
我添加echo "testline";到库中以查看文件是否已加载.如果我使用自动加载,没有任何反应.如果我手动包含该文件,"testline"则打印但仍未找到该类.
例一
<?php
include '/vendor/autoload.php';
$sftp = new SFTP('domain');
if (!$sftp->login('user', 'pass')) {
exit('Login Failed');
}
Run Code Online (Sandbox Code Playgroud)
- >没有回音
示例二:
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib/phpseclib');
include('Net/SSH2.php');
include('Net/SFTP.php');
$sftp = new SFTP('www.domain.tld'); …Run Code Online (Sandbox Code Playgroud)