javascript – 将脚本传递给innerHTML

前端之家收集整理的这篇文章主要介绍了javascript – 将脚本传递给innerHTML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在将其标记为重复之前,我已经查看了 here,as well,here too,但我似乎无法找到可行的解决方案.据我所知,由于脚本标记,我无法将脚本传递给innerHTML.但有没有办法将这个特定的API推入div而不将其放在HTML页面上.我有一个输入输入并运行几个$.get来获取股票信息的按钮,所以我想将其作为结果的一部分包含在内,但是,不允许使用innerHTML,并且我尝试了很多解决方案.上面的链接,无济于事.
我可以将下面的脚本放在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>

然后我会假设无论脚本产生什么都将注入其中.

很抱歉没有测试并给出一个半定的答案!

原文链接:/js/157575.html

猜你在找的JavaScript相关文章