我正在尝试运行以下文件。当我在本地驱动器上运行它时它运行得很好但是如果我将它放在网络驱动器上它就不再有效了。知道为什么会这样吗?
以下是我尝试运行的代码。它从这里使用pivottable:https://github.com/nicolaskruchten/pivottable。
<!DOCTYPE html>
<html>
<head>
<title> Demo</title>
<!-- external libs from cdnjs -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<!-- PivotTable.js libs from ../dist -->
<link rel="stylesheet" type="text/css" href="../dist/pivot.css">
<script type="text/javascript" src="../dist/pivot.js"></script>
<style>
body {font-family: Verdana;}
</style>
<!-- optional: mobile support with jqueryui-touch-punch -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>
</head>
<body>
<script type="text/javascript">
// This example shows custom aggregators using
$(function(){
var tpl = $.pivotUtilities.aggregatorTemplates;
$.getJSON("col.json", function(frontier) {
$("#output").pivotUI(frontier, {
rows: ["Manager"], cols: ["Sector"],
aggregators: {
"Number of Positions": function() { return tpl.count()() },
"Manager Weight": function() { return tpl.sum()(["Port"])},
"Benchmark XGCC Weight": function() { return tpl.sum()(["Bench"])},
}
});
});
});
</script>
<div id="output" style="margin: 30px;"></div>
</body>
</html>
答案 0 :(得分:1)
File:///
网址将在与HTTP / HTTPS和其他上下文(内部,公共,私有,不安全)不同的上下文中运行。有问题的限制取决于特定的浏览器,操作系统和上下文本身。
如果您必须在HTML中执行JavaScript,最安全且最可靠的运行方式是让它通过Web服务器运行。
另外值得注意的是,有一些本地/相关文件。 ../dist/pivot.js
和../dist/pivot.css
您确定要保存这些文件,并且它们也处于正确的相对路径中吗?