簡體   English   中英

將外部javascript注入html腳本標簽以獲取cobertura代碼覆蓋率結果

[英]Inject external javascript into html script tag for cobertura code coverage results

類似,我想注入html外部的js文件。

問題背景-我正在使用cobertura為Angular6應用程序生成代碼覆蓋率。 在我的vsts構建中,我正在發布代碼覆蓋率結果,但是當逐步執行文件鏈接時需要觸發.js文件時,瀏覽器出現錯誤:

Blocked script execution in '<URL>' because the document's frame is sandboxed and the 'allow-scripts' permission is not set.

我認為最好的解決方案是執行一個腳本,將javascript代碼直接注入html,而不是從外部鏈接到html。

因此,例如說html是這樣的:

<html>

   <script src="code.js"></script>
...
</html>

然后運行腳本等之后injector.js :像這樣node ./injector.js

該html將變為:

<html>

   <script>
      function hello() {
         console.log('hello');
      }
   </script>
</html>

你該怎么做?

還是有解決這個問題的更好方法?

由於您的開發是完全基於的NodeJS。

你可以簡單地寫一個劇本的NodeJS

  1. 使用水珠模塊從覆蓋文件夾中取出使用模式的所有HTML文件
  2. 遍歷每個生成的報告的HTML和內聯CSS和腳本。
  3. 保存
  4. 隨后發布的代碼覆蓋率報告文物。

NPM模塊不正是確實與一些優化的內聯工作https://www.npmjs.com/package/vsts-coverage-styles

免責聲明: 我寫了上面提到的簡單重復使用的NPM包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM