我有一个使用AngularJS作为其框架的网站。我没有对该框架的完全访问权限,但是,我能够添加在框架中提取并显示的自定义页面。
在外部,我有一个页面可以使用D3js(和其他库)以图形方式动态显示数据。我可以使用AJAX从其他站点调用此页面,它加载并显示得很好。每当我从AngularJS网站中加载它时,所有内容似乎都已加载,但是由于某种原因找不到“ d3”函数。
我已经尝试通过AngularJS的<ng-include>
jQuery加载页面,但是总是得到相同的结果。我尝试过通过require.js,<script src=>
标签加载D3库,甚至没有运气直接将整个D3源代码粘贴到页面中。
我假设它与某种奇怪的作用域问题有关,但是其他库可以正常加载和运行。除了加载库并仅调用d3.foo
之外,还有另一种实例化'd3'的方法吗? d3的初始化与AngularJS有冲突吗?
关于AngularJS,我真是个新手。
以下是我尝试过的示例:
<div data-title="Workplace Readiness"
class="external-page">
<p>
...
some explanatory stuff
...
</p>
<div id="WR">Loading...</div>
<script src="https://https://d3js.org/d3.v4.min.js"></script>
<script src="https://source.of.custom.code/guage1.js"></script>
<script type="text/javascript">
$.get('https://source.of.custom.code/workplace_readiness/', function(data){
$('#WR').html(data);
});
</script>
</div>
workplace_readiness页面的源代码中还包含必要的库,该库在其他任何地方都足够了,但在此AngularJS网站中还不够。