2016-09-13 4 views
1

Я пытаюсь запустить приведенный ниже файл. Он работает отлично, когда я запускаю его на локальном диске, но если я поместил его на сетевой диск, он больше не работает. Любая идея, почему это может быть?javascript не работает с сетевого диска

Ниже приведен код, который я пытаюсь запустить. Здесь используется 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> 
+2

Вы также установили '../ dist/pivot.js' и' ../ dist/pivot.css' на сетевой диск? Получаете ли вы какие-либо ошибки в консоли браузера или вкладке сети? – nnnnnn

+0

Вы перемещаете весь проект на сетевой диск или только этот файл. У вас есть относительные пути к вашим файлам script/css. – Jecoms

+0

Выполнение JavaScript с файлового протокола имеет разные настройки безопасности. Есть ли сообщения об ошибках в консоли? Вы видите какие-либо 404s на вкладке сети? – epascarello

ответ

1

File:/// URLs будет работать в другом контексте, чем HTTP/HTTPS и других контекстах (внутренние, государственные, частные, небезопасно). Какие ограничения зависят от конкретного браузера, ОС и самого контекста.

Если вы должны выполнить JavaScript в HTML, самым безопасным и надежным способом запуска является его запуск через веб-сервер.


Также стоит отметить несколько местных/относительных файлов. ../dist/pivot.js и ../dist/pivot.css уверены, что вы сохраняете эти файлы, и они тоже находятся в правильном относительном пути?

+0

Я могу запустить исходный код, написанный из библиотеки примеров сводных таблиц в I.E. Проблема заключается в том, что я открываю исходный код и сохраняю его копию. Если я это сделаю, даже если я ничего не сделаю, новый файл не будет запускаться при хранении на сетевом диске и запущен из файла или в IIS. Однако, если я щелкнул правой кнопкой мыши и скопировал исходные html-файлы (даже изменив их имена), тогда он будет работать. Я попытался внести изменения в файлы в eclipse, VS Code, wordpad, блокнот и т. Д., И всякий раз, когда я перезаряжаюсь, я больше не могу заставить файл html работать. Есть идеи, почему это может быть? –

+0

Файл содержит скрипты из https: // из cloudflare ... снова некоторые вещи не работают с файловыми системами, и это будет зависеть от того, где вы сохраняете, какого браузера вы используете и какие настройки безопасности ... есть также относительные файлы для ../ dist/..., которые вы не можете копировать. – Tracker1

Смежные вопросы