在将其标记为重复之前,我已经查看了
here,as well,here too,但我似乎无法找到可行的解决方案.据我所知,由于脚本标记,我无法将脚本传递给innerHTML.但有没有办法将这个特定的API推入div而不将其放在HTML页面上.我有一个输入输入并运行几个$.get来获取股票信息的按钮,所以我想将其作为结果的一部分包含在内,但是,不允许使用innerHTML,并且我尝试了很多解决方案.上面的链接,无济于事.
我可以将下面的脚本放在HTML页面的div中,但我不想这样做,而且我需要获取用户输入,因此将它放在我的.js中会更容易一起执行所有功能.我有小部件的js包括在内.
我可以将下面的脚本放在HTML页面的div中,但我不想这样做,而且我需要获取用户输入,因此将它放在我的.js中会更容易一起执行所有功能.我有小部件的js包括在内.
<script type="text/javascript"> new TradingView.widget({ "width": 480,"height": 400,"symbol": "NASDAQ:AAPL","interval": "D","timezone": "Etc/UTC","theme": "White","style": "1","locale": "en","toolbar_bg": "#f1f3f6","enable_publishing": false,"hide_top_toolbar": true,"save_image": false,"hideideas": true }); </script>
到目前为止我有
var script = document.createElement('script'); script[(script.innerText===undefined?"textContent":"innerText")] = "new TradingView.widget({ 'width': 580,'height': 400,'symbol': 'NASDAQ:"+ticker+ "','interval': 'D','timezone': 'Etc/UTC','theme': 'White','style': '1','locale': 'en','toolbar_bg': '#f1f3f6','enable_publishing': false,'hide_top_toolbar': true,'save_image': false,'hideideas': true});"; document.getElementById("stockChart").appendChild(script);
然而,这项工作,但不是我想要它,但这只是执行该脚本,这个图表是唯一显示在页面上的东西,有没有办法可以强制它在< div>?使用上面的解决方案,脚本被执行,但没有将小部件放在div中(看起来,我可能是错的.我对此并不精通).
在此图像中,当我使用JS文件与其他操作一起运行脚本时,它只是在页面上显示图形.
这是当代码在div中并且在运行任何JS函数之前,我猜它是在div中,我需要在框中放置一个输入,所以所有信息都可以显示在一个页面上,如下所示
我希望图表放在红点中,其中< div>是
HTML
<div id="content"> <img src="icon/logo.png"> <h1>Search Shares</h1> <div id="stockTickGet"> Ticker: <input type="text" id="tickBox" list="options"/> <button onclick="Ticker()" id="tickerSubmit" class="btn btn-primary">Submit</button> <datalist id="options"></datalist> </div> <div id='showStockTick' class='stockTicker'></div> <!-- <div id='stockChart'></div> --> <div id='stockChart'> </div> <div id='showStockSearch' class='stockTicker'></div> <div id='newsresult' class='stockTicker'></div> <button class="btn btn-primary" data-toggle="modal" data-target="#modal1">Buy Stocks</button> </div>
从某种意义上说,这就是我想要做的,但不允许/工作
document.getElementById("stockChart").innerHTML = "<script> new TradingView.widget({ 'width': 580,'symbol': 'NASDAQ:GOOG','hideideas': true});<"+"/script>";
解决方法
虽然脚本可以放在div中,但这里的误解似乎是你可以为脚本生成的任何html选择目标div.
如果没有看到脚本代码或者至少知道脚本是什么,就不可能说脚本是否产生任何html元素,或者即使它完成了,你也无法知道它是如何在当前页面中注入的.
新的TradingView.widget(..).即使您将此作为脚本元素放置在页面中的html元素上,它也可以跳过一个跳汰机并为我们所知道的所有人烹饪炖菜.
至于你的问题的解决方案:
我搜索了Tradingview.widget并找到了这个页面:www.tradingview.com.这似乎是你在说什么.查看页面源代码,您似乎可以在窗口小部件选项中添加container_id:
new TradingView.widget({ ... container_id : "widget-frame-container"; });
这意味着如果你有一个带有所述id的div:
<div id="widget-frame-container"></div>
然后我会假设无论脚本产生什么都将注入其中.
很抱歉没有测试并给出一个半定的答案!