Chrome扩展程序:单击弹出窗口中的按钮时,将文本插入文本字段

我正在尝试立即创建我的第一个Chrome扩展程序。这是一个简单的弹出窗口,其中包含许多树懒图片。我正在尝试做的是,这样,当您单击懒惰的图片时,它将图像URL附加到内容页面的当前文本字段中。

这是我的JSON:

{
"manifest_version": 2,

"name" : "Instant Sloth",
"description": "One button, many sloth.",
"version": "1",

"permissions": [
    "https://secure.flickr.com/"
],

"browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
},
"content_scripts": [{
    "js": ["jquery.min.js", "tab.js", "jquery-ui.min.js", "input.js"],
    "matches": ["http://*/*", "https://*/*"],
    "run_at": "document_end"
    }]
}

其中popup.html是带有树懒图片的HTML文件,而input.js是我希望添加交互性的脚本,例如:

$("img").click(function(){
var form = $(document.activeElement);
var sloth = $(this).attr('src');
form.value = (form.value + " " + sloth);
});

我在尝试弄清楚如何在同一脚本中访问内容页面和弹出窗口的元素时遇到了麻烦。我也有链接到pop-up.html的input.js文件。谢谢您的帮助!

可汗

该页面可能回答很多问题:体系结构概述

简而言之,您无法在一个脚本中执行此操作,因为弹出窗口和当前打开的页面是不同的上下文。您需要在弹出窗口中使用脚本来处理单击并获取源URL,在页面中使用脚本(内容脚本)来插入文本,并在两者之间进行某种形式的通信。

一种方法是使用Messaging,您可以让内容脚本在弹出窗口中侦听命令。这种方法是有效的,但是我在这里描述一个小问题:没有100%保证内容脚本实际上已在给定的选项卡中准备好。

在您的情况下,只需构造一个简短的代码段并将其以编程方式注入到页面中就容易得多

// Popup code
$(document).ready(function() {
  $("img").click(function() {
    var sloth = $(this).attr('src');
    var script = 'var form = document.activeElement;' +
      + 'form.value = (form.value + " ' + sloth + '");';
    chrome.tabs.executeScript({code : script});
  });
});

附注:您需要清单中"activeTab"许可才能执行此操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将值从子窗口传递到父窗口中的文本字段

来自分类Dev

单击操作表(iOS)的“取消”按钮时,将所有文本字段设置为空白

来自分类Dev

仅当文本字段包含文本时才启用按钮

来自分类Dev

将下拉值插入文本字段

来自分类Dev

单击按钮时添加新的文本字段,然后在Laravel 4中单击按钮删除

来自分类Dev

用户单击浏览器操作并弹出窗口时如何执行操作(Chrome扩展程序)

来自分类Dev

当用户在单独的chrome窗口中时,是否可以关闭chrome扩展程序弹出窗口?

来自分类Dev

当其他文本字段ios出现弹出窗口时如何关闭已经打开的键盘

来自分类Dev

单击“取消”按钮后,文本字段将隐藏

来自分类Dev

在Chrome扩展程序弹出窗口中使用jQuery

来自分类Dev

关闭按钮可在Chrome扩展程序弹出窗口中打开新的Chrome存储标签

来自分类Dev

单击“ Chrome扩展程序”浏览器操作按钮时不显示弹出窗口

来自分类Dev

单击按钮时如何弹出日历并在Grails 3.3.9的文本字段中存储值

来自分类Dev

在Chrome扩展程序的弹出窗口中,警报无法正常工作

来自分类Dev

仅当文本字段包含文本时才启用按钮

来自分类Dev

创建文本字段和按钮以编程方式单击按钮获取文本字段文本

来自分类Dev

无法使用Chrome扩展程序弹出窗口中的按钮打开新标签页

来自分类Dev

弹出式窗口中的Chrome扩展程序后台页面

来自分类Dev

单击时显示文本字段(输入)

来自分类Dev

单击按钮时添加文本字段和文本区域

来自分类Dev

关闭按钮可在Chrome扩展程序弹出窗口中打开新的Chrome存储标签

来自分类Dev

关于模态窗口中的文本字段的问题

来自分类Dev

Chrome扩展程序弹出窗口中未定义“ $”

来自分类Dev

Chrome 扩展程序:如何通过单击 html 弹出窗口中的按钮在新选项卡中打开指定链接?

来自分类Dev

单击空文本字段时应用程序崩溃

来自分类Dev

Jquery Mobile - 单击弹出窗口(标题和内容的任何区域)自动聚焦文本字段

来自分类Dev

按钮,单击更改文本(2 秒),在此时间窗口中单击时重置

来自分类Dev

单击按钮时以编程方式将焦点移至文本字段

来自分类Dev

弹出窗口中的文本框影响控制按钮的样式

Related 相关文章

  1. 1

    将值从子窗口传递到父窗口中的文本字段

  2. 2

    单击操作表(iOS)的“取消”按钮时,将所有文本字段设置为空白

  3. 3

    仅当文本字段包含文本时才启用按钮

  4. 4

    将下拉值插入文本字段

  5. 5

    单击按钮时添加新的文本字段,然后在Laravel 4中单击按钮删除

  6. 6

    用户单击浏览器操作并弹出窗口时如何执行操作(Chrome扩展程序)

  7. 7

    当用户在单独的chrome窗口中时,是否可以关闭chrome扩展程序弹出窗口?

  8. 8

    当其他文本字段ios出现弹出窗口时如何关闭已经打开的键盘

  9. 9

    单击“取消”按钮后,文本字段将隐藏

  10. 10

    在Chrome扩展程序弹出窗口中使用jQuery

  11. 11

    关闭按钮可在Chrome扩展程序弹出窗口中打开新的Chrome存储标签

  12. 12

    单击“ Chrome扩展程序”浏览器操作按钮时不显示弹出窗口

  13. 13

    单击按钮时如何弹出日历并在Grails 3.3.9的文本字段中存储值

  14. 14

    在Chrome扩展程序的弹出窗口中,警报无法正常工作

  15. 15

    仅当文本字段包含文本时才启用按钮

  16. 16

    创建文本字段和按钮以编程方式单击按钮获取文本字段文本

  17. 17

    无法使用Chrome扩展程序弹出窗口中的按钮打开新标签页

  18. 18

    弹出式窗口中的Chrome扩展程序后台页面

  19. 19

    单击时显示文本字段(输入)

  20. 20

    单击按钮时添加文本字段和文本区域

  21. 21

    关闭按钮可在Chrome扩展程序弹出窗口中打开新的Chrome存储标签

  22. 22

    关于模态窗口中的文本字段的问题

  23. 23

    Chrome扩展程序弹出窗口中未定义“ $”

  24. 24

    Chrome 扩展程序:如何通过单击 html 弹出窗口中的按钮在新选项卡中打开指定链接?

  25. 25

    单击空文本字段时应用程序崩溃

  26. 26

    Jquery Mobile - 单击弹出窗口(标题和内容的任何区域)自动聚焦文本字段

  27. 27

    按钮,单击更改文本(2 秒),在此时间窗口中单击时重置

  28. 28

    单击按钮时以编程方式将焦点移至文本字段

  29. 29

    弹出窗口中的文本框影响控制按钮的样式

热门标签

归档