首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Chrome Extension -> Basic中运行Javascript?

在Chrome Extension -> Basic中运行Javascript?
EN

Stack Overflow用户
提问于 2013-10-06 13:43:56
回答 1查看 20.3K关注 0票数 3

我感觉我遗漏了一些非常明显的东西,但我一直在到处寻找,似乎不能让它工作。简而言之,我想把一个小的Javascript脚本变成一个chrome扩展,让它更容易使用。

脚本只是从textArea中读取文本,修改脚本并将其输出到div中。它在独立运行时与任何浏览器都能很好地工作,但在作为Chrome扩展运行时似乎不想工作

以下是文件(我基本上是在尝试转换示例):

谢谢!

manifest.json

代码语言:javascript
复制
    {
  "manifest_version": 2,

  "name": "One-click Kittens",
  "description": "This extension demonstrates a 'browser action' with kittens.",
  "version": "1.0",

  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "permissions": [
    "https://secure.flickr.com/"
  ]
}

popup.html

代码语言:javascript
复制
<!doctype html>
<html>
  <head>
    <title>Getting Started Extension's Popup</title>
    <style>
      body {
        min-width: 357px;
        overflow-x: hidden;
      }

      img {
        margin: 5px;
        border: 2px solid black;
        vertical-align: middle;
        width: 75px;
        height: 75px;
      }
    </style>

    <!--
      - JavaScript and HTML must be in separate files: see our Content Security
      - Policy documentation[1] for details and explanation.
      -
      - [1]: http://developer.chrome.com/extensions/contentSecurityPolicy.html
     -->
    <script src="popup.js"></script>
  </head>
  <body>

    <textarea id="source">Text Entry.</textarea>
    <button onclick="main()" id="buttons">Generate</button>

    <div id="result">       
    </div>

  </body>
</html>

popup.js

代码语言:javascript
复制
function main() {
    var source = document.getElementById('source').value;
    document.getElementById("result").innerHTML = source;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-06 14:04:16

根据chrome扩展文档,

将不执行内联JavaScript。此限制同时禁止内联<script>块和内联事件处理程序(例如<button onclick="...">)。

阅读:http://developer.chrome.com/extensions/contentSecurityPolicy.html#JSExecution

在popup.js中使用as

代码语言:javascript
复制
document.addEventListener('DOMContentLoaded', function () {
      document.querySelector('button').addEventListener('click', main);      
});
function main() {
    var source = document.getElementById('source').value;
    document.getElementById("result").innerHTML = source;
}
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19205823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档