在实际网页上执行JavaScript文件的最快捷,最简单的方法是什么?

时间:2015-06-10 20:07:17

标签: javascript console google-chrome-devtools firefox-developer-tools

我有这个JavaScript文件网址:

https://rawgit.com/Khan/tota11y/master/build/tota11y.min.js

(托管在GitHub上并通过RawGit传递),我想通过浏览器的控制台将其注入实时网页。

为了实现这一点,我可以动态创建一个<script>元素并将其附加到DOM:

(function () {
  var s = document.createElement('script');
  s.src = 'https://rawgit.com/Khan/tota11y/master/build/tota11y.min.js';
  document.body.appendChild(s);
}())

但这既不快也不容易。我想使用一个API,通过一个简单的调用来实现这一点,例如:

exec('https://rawgit.com/Khan/tota11y/master/build/tota11y.min.js')

Chrome或Firefox是否在其控制台中提供此类API(或类似内容)?

用例:在实时网页上快速测试GitHub上托管的JavaScript库。

3 个答案:

答案 0 :(得分:9)

更新:The Developer Toolbar has been removed from Firefox Nightly as of 18th May 2018.

在Firefox中,您可以使用开发人员工具栏注入脚本。使用Shift+F2打开并输入inject https://rawgit.com/Khan/tota11y/master/build/tota11y.min.js

More info on MDN

答案 1 :(得分:0)

您需要从我看到的模块加载功能。你有两条路线:

  • 使用像Require.js这样的模块加载器已经为您进行了这种动态加载。它强制您使用AMD风格的脚本。 This website更多地讨论了javascript中的模块。 require对象将在控制台中可用,因为它是全局的。

  • 使用像jQuery does here这样的hackish函数,如果你已经使用jQuery(这是一个非常大的库来导入它)。 jQuery是全局的,您可以在控制台中调用该函数。

编辑:我没有链接浏览器特定功能的原因是因为它太具体了。使用仅限JavaScript的解决方案适用于所有浏览器以测试兼容性。

答案 2 :(得分:0)

对于chrome来说,有一个名为Script Injector的插件正是这样做的

https://chrome.google.com/webstore/detail/script-injector/fddnddnolonllcgfbenaloajnbhebmob?hl=en