Search Results

Search found 76977 results on 3080 pages for 'create function'.

Page 565/3080 | < Previous Page | 561 562 563 564 565 566 567 568 569 570 571 572  | Next Page >

  • Flash Player scripting + IE8

    - by Joel Alejandro
    I've developed a small control bar for a Flash viewer generated by a third-party software. It has a First, Prev, Next & Last button, and a Zoom command. While Zoom works fine in all browsers, the navigation buttons seem to fail at Internet Explorer 8. I use at least two functions. This one locates the Flash object I want to manipulate: function getFlashMovieObject(movieName) { if (window.document[movieName]) { return window.document[movieName]; } if (navigator.appName.indexOf("Microsoft Internet")==-1) { if (document.embeds && document.embeds[movieName]) return document.embeds[movieName]; } else // if (navigator.appName.indexOf("Microsoft Internet")!=-1) { return document.getElementById(movieName); } } ...and any of these ones handles the frame navigation: var currentFrame = 0; function gotoFirst(id) { getFlashMovieObject(id + "Blueprints").Rewind(); currentFrame = 0; $("currentFrame").innerHTML = currentFrame + 1; $("frameTitle").innerHTML = frameTitles[id][currentFrame]; } function gotoPrev(id) { var movie = getFlashMovieObject(id + "Blueprints"); if (currentFrame 0) { currentFrame--; } movie.GotoFrame(currentFrame); $("currentFrame").innerHTML = currentFrame + 1; $("frameTitle").innerHTML = frameTitles[id][currentFrame]; } function gotoNext(id) { var movie = getFlashMovieObject(id + "Blueprints"); if (currentFrame < movie.TotalFrames() - 1) { currentFrame++; } movie.GotoFrame(currentFrame); $("currentFrame").innerHTML = currentFrame + 1; $("frameTitle").innerHTML = frameTitles[id][currentFrame]; } function gotoLast(id) { var movie = getFlashMovieObject(id + "Blueprints"); currentFrame = movie.TotalFrames() - 1; movie.GotoFrame(currentFrame); $("currentFrame").innerHTML = currentFrame + 1; $("frameTitle").innerHTML = frameTitles[id][currentFrame]; } Btw, that $ is MooTools, not jQuery. Anyway, IE dies on the movie.TotalFrames() call. What can I do to solve this? Keep in mind I need this to be done via JavaScript, as I cannot edit the SWF.

    Read the article

  • jQuery.extend() not giving deep copy of object formed by constructor

    - by two7s_clash
    I'm trying to use this to clone a complicated Object. The object in question has a property that is an array of other Objects, and each of these have properties of different types, mostly primitives, but a couple further Objects and Arrays. For example, an ellipsed version of what I am trying to clone: var asset = new Assets(); function Assets() { this.values = []; this.sectionObj = Section; this.names = getNames; this.titles = getTitles; this.properties = getProperties; ... this.add = addAsset; function AssetObj(assetValues) { this.name = ""; this.title = ""; this.interface = ""; ... this.protected = false; this.standaloneProtected = true; ... this.chaptersFree = []; this.chaptersUnavailable = []; ... this.mediaOptions = { videoWidth: "", videoHeight: "", downloadMedia: true, downloadMediaExt: "zip" ... } this.chaptersAvailable = []; if (typeof assetValues == "undefined") { return; } for (var name in assetValues) { if (typeof assetValues[name] == "undefined") { this[name] = ""; } else { this[name] = assetValues[name]; } } ... function Asset() { return new AssetObj(); } ... function getProperties() { var propertiesArray = new Array(); for (var property in this.values[0]) { propertiesArray.push(property); } return propertiesArray; } ... function addAsset(assetValues) { var newValues; newValues = new AssetObj(assetValues); this.values.push(newValues); } } When I do var copiedAssets = $.extend(true, {}, assets); copiedAssets.values == [], while assets.values == [Object { name="section_intro", more...}, Object { name="select_textbook", more...}, Object { name="quiz", more...}, 11 more...] When I do var copiedAssets = $.extend( {}, assets); all copiedAssets.values.[X].properties are just pointers to the value in assets. What I want is a true deep copy all the way down. What am I missing? Do I need to write a custom extend function? If so, any recommended patterns?

    Read the article

  • javascript: execute a bunch of asynchronous method with one callback

    - by Samuel Michelot
    I need to execute a bunch of asynchronous methods (client SQLite database), and call only one final callback. Of course, the ugly way is: execAll : function(callBack) { asynch1(function() { asynch2(function() { ... asynchN(function() { callBack(); }) }) }); } But I know there are better ways to do it. Intuitively I would detect when all call back has been called with a counter to call the final callback. I think this is a common design-pattern, so if someone could point me in the right direction... Thanks in advance !

    Read the article

  • How to prefix a positive number with plus sign in PHP

    - by user318466
    I need to design a function to return negative numbers unchanged but should add a + sign at the start of the number if its already no present. Example: Input Output ---------------- +1 +1 1 +1 -1 -1 It will get only numeric input. function formatNum($num) { # something here..perhaps a regex? } This function is going to be called several times in echo/print so the quicker the better.

    Read the article

  • Jsonp request using jquery to fetch bing web results

    - by Blankman
    using this as a guide: http://msdn.microsoft.com/en-us/library/dd250846.aspx can someone help me with the jquery call? Do I actually pass in the javascript code for the callback, or just the name of the function? BingSearch = function($bingUrl, $bingAppID, $keyword, $callBack) { $bingUrl = $bingUrl + "?JsonType=callback&JsonCallback=" + $callBack + "&Appid=" + $bingAppID + "&query=" + encodeURI($keyword) + "&sources=web"; $.ajax({ dataType: 'jsonp', jsonp: $callBack, url: $bingUrl, success: function(data) { alert('success'); $callBack(data); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("error: " + textStatus); } }); };

    Read the article

  • Why is this bookmarklet code saying jQuery is not defined even though jQuery is included?

    - by Josh Brown
    I am creating a bookmarklet and the code below is not working on first try. When I goto a page, it says "jQuery is not defined". But, if I click it again, it works perfectly? var qrcodetogo = { jQURL: 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js', jQUIURL: 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js', jQUIThemeURL: 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/ui-lightness/jquery-ui.css', init: function(){ this.createLink('qrcodetogo_UI-Lightness', this.jQUIThemeURL); this.createScript('qrcodetogo_jQuery', this.jQURL); this.createScript('qrcodetogo_jQueryUI', this.jQUIURL); this.createHiddenDiv('qrcodetogo_dialog','This is a Test.'); jQuery.noConflict(); }, showQRCode: function() { jQuery('#qrcodetogo_dialog').dialog(); }, createLink: function(id, url) { var l = document.createElement('link'); l.href = url; l.rel = 'stylesheet'; l.type = 'text/css'; l.media = 'screen'; l.charset = 'utf-8'; document.getElementsByTagName('head')[0].appendChild(l); }, createScript: function(id, url) { var s = document.createElement('script'); s.src = url; s.id = id; document.getElementsByTagName('head')[0].appendChild(s); }, createHiddenDiv: function(id, body) { var div = document.createElement('div'); div.id = id; div.innerHTML = body; div.style.display = 'none'; document.getElementsByTagName('body')[0].appendChild(div) } } qrcodetogo.init(); qrcodetogo.showQRCode();

    Read the article

  • jquery timout funcation not work properly

    - by 3gwebtrain
    HI, i ma using the settimeout function to display block and append to 'li', once the mouseover. and i just want to remove the block and make it none. in my funcation works fine. but problem is even just my mouse cross the li, it self the block getting visibile. how to avoid this? my code is: var thisLi; var storedTimeoutID; $("ul.redwood-user li,ul.user-list li").live("mouseover", function(){ thisLi = $(this); var needShow = thisLi.children('a.copier-link'); if($(needShow).is(':hidden')){ storedTimeoutID = setTimeout(function(){$(thisLi).children('a.copier-link').appendTo(thisLi).show();},3000); } else{ storedTimeoutID = setTimeout(function(){$(thisLi).siblings().children('a.copier-link').appendTo(thisLi).show();},3000); } }); $("ul.redwood-user li,ul.user-list li").live("mouseleave", function(){ clearTimeout(storedTimeoutID); //$('ul.redwood-user li').children('a.copier-link').hide(); $('ul.user-list li').children('a.copier-link').hide(); });

    Read the article

  • Creating a music catalog and extracting first 30 seconds as soon as the first words are sung

    - by Rad
    I already read a question: Separation of singing voice from music. I don’t need this complex audio processing. I only need some detection mechanism that would detect that there is some voice/vocal playing while the music is playing (or not playing) I need to extract first 30 seconds when a vocalist starts singing along with full band music. See question 2 below. I want to create a music catalog using ASP.NET MVC 2 and Silverlight clients and C#.NET 4.0 programming language that would be front store. On the backend I would also like to create a desktop WPF/Windows application to create the music catalog from already existing music files, most of which have metadata in them ID3v1, ID3v2.3, ID3v2.4, iTunes MP4, WMA, Vorbis Comments and APE Tags etc. I would possibly like to create a web service that would allow catalog contributors to upload a zipped album and trigger metadata extraction of music data and extraction of music segments as described below. I would be happy if I achieve no. 1 below. Let's say I have 1000ths of songs in mp3 (or other formats) grouped in subfolders using some classification (Genre, Artists, Albums, Composers or other groupings). I want to create tables in DB that would organize songs so they can be searched based on different criteria (year, length, above classification or by song title, description etc) like what iTune store allows to their customers. I want to extract metadata from various formats (I will try to get songs in mp3 format, but there may be other popular formats) and allow music Catalog manager person to add missing data from either desktop or web applications. He or other contributors can upload zipped music via an HTML or Silverlight upload or WPF. Can anybody suggest open source libraries, articles, code snippets that can do that in an automatic way using .NET and possibly SQL Server DB? My main questions are these. This is an audio processing challenge. I want to extract 2 segments of music (questions 1 and 2): 1. How to extract a music segment: 1-2 seconds before a vocal starts singing and up to 30 seconds from that point in time and 2. Much more challenging is to find repeating segments (One would usually find or recognize the names of the songs and songs are usually known by these refrains. How would I go about creating a list of songs that go great together like what Genius from iTune does? Is there any characteristics of music that can be used to match songs? The goal is for people quickly scan and recognize songs i.e. associate melody, words with a title/album so they can make intelligent decisions like buying a song, create similar mood songs.

    Read the article

  • jQuery autocomplete works with a local string but not when the same String is called off the server

    - by Ankur
    This is related to the question I asked at http://stackoverflow.com/questions/2802948/how-to-make-an-ajax-call-immediately-on-document-loading My code is: $(document).ready(function(){ $.ajax({ type: "GET", url: "../AutoComplete", success: function(data) { var dataArray = data; alert(dataArray); $("#example").autocomplete(dataArray); } }); }); The value that is printed in the alert is: "Manuscript|Text|Information Object|Basketball|Ball|Sporting Equipment|Tarantula|Spider|Australian Spider|Cricket Player|Medieval Artefact|Person|Sportsperson|Leonardo Da Vinci|Country|Language|Inventor|Priest|Electronics Manufacturer|Object|letter|Artefact|governance model|Organism|Animal".split("|"); If instead I do this: $(document).ready(function(){ $.ajax({ type: "GET", url: "../AutoComplete", success: function(data) { var dataArray = "Manuscript|Text|Information Object|Basketball|Ball|Sporting Equipment|Tarantula|Spider|Australian Spider|Cricket Player|Medieval Artefact|Person|Sportsperson|Leonardo Da Vinci|Country|Language|Inventor|Priest|Electronics Manufacturer|Object|letter|Artefact|governance model|Organism|Animal".split("|"); alert(dataArray); $("#example").autocomplete(dataArray); } }); }); It works fine?

    Read the article

  • Stored Functions with Linq to Entities

    - by Lawnmower
    Hi, How can I make a MS-SQL stored function availabe in LINQ expressions if using the Entity framework? The SQL function was created with CREATE FUNCTION MyFunction(@name) ...). I was hoping to access it similarly to this: var data = from c in entities.Users where MyFunction(c.name) = 3; Unfortunately I have only .NET 3.5 available.

    Read the article

  • AES Cipher Key Strength in BlackBerry

    - by Basilio
    Hi All, I need to create an application that decrypts data that is encrypted using AES with a 512-bit key. What I need to know is whether we can create an AES key of length 512-bits? The documentation says we can create a key of length up to 256-bits. If that is the case, is there any way that I can add my own implementation for 512-bit AES key, or will I have to reduce the key strength used to encrypt the data originally? Thanks, Basilio

    Read the article

  • Mapping over sequence with a constant

    - by Hendekagon
    If I need to provide a constant value to a function which I am mapping to the items of a sequence, is there a better way than what I'm doing at present: (map my-function my-sequence (cycle [my-constant-value])) where my-constant-value is a constant in the sense that it's going to be the same for the mappings over my-sequence, although it may be itself a result of some function further out. I get the feeling that later I'll look at what I'm asking here and think it's a silly question because if I structured my code differently it wouldn't be a problem, but well there it is!

    Read the article

  • fullcalendar events from REST-ful php server.

    - by biagidp
    I've written a very simple RESTful php server (my first experiment with REST, so feel free to make suggestions) to respond to the fullcalendar events callback. It produces exactly the same string output as the json-events.php file in the fullcalendar json example, but for some reason fullcalendar will not accept my server's output. I've tried messing with the headers because they're different from the ones produced by json-events.php, but I'm not really sure what's awry there, if anything. The code for the server is below: <?php class Listener{ function __construct() { $this->getResource(); $this->buildResponse(); } function getResource(){ $parts = explode('/', $_SERVER["REQUEST_URI"]); $script_name = end(explode('/', $_SERVER["SCRIPT_NAME"])); $this->resource = $parts[array_search($script_name, $parts) + 1]; $this->resource_id = $parts[array_search($script_name, $parts) + 2]; } function buildResponse(){ $method = strtolower($_SERVER["REQUEST_METHOD"]); $this->response_string = $method . ucwords($this->resource); } function getResponse(){ return $this->response_string; } } $listener = new Listener(); $thing = $listener->getResponse(); #$thing(); function getEvents(){ $year = date('Y'); $month = date('m'); echo json_encode(array( array( 'id' => 111, 'title' => "Event1", 'start' => "$year-$month-10", 'url' => "http://yahoo.com/" ), array( 'id' => 222, 'title' => "Event2", 'start' => "$year-$month-20", 'end' => "$year-$month-22", 'url' => "http://yahoo.com/" ) )); } ?> Any input, help or suggestions would be greatly appreciated! Thanks, David

    Read the article

  • Disable Internet Explorer 8 Developer Tools

    - by Steve Brouillard
    Is there a way to either disable Internet Explorer 8 Developer Tools, or at least change the shortcut key mapping? I'm working on an ASP.NET AJAX app that has used the F12 key for a function for years (it's actually a hold over from the original DOS app). Customers have used this key for the sam function for nearly 15 years and we'd really like to avoid having to move that function. Cheers

    Read the article

  • How to assert certain method is called with Ruby minitest framework?

    - by steven.yang
    I want to test whether a function invokes other functions properly with minitest Ruby, but I cannot find a proper assert to test from the doc. The source code class SomeClass def invoke_function(name) name == "right" ? right () : wrong () end def right #... end def wrong #... end end The test code: describe SomeClass do it "should invoke right function" do # assert right() is called end it "should invoke other function" do # assert wrong() is called end end

    Read the article

  • Cannot set property X of undefined - programatically created element

    - by Dave
    I am working on a class to create a fairly complex custom element. I want to be able to define element attributes (mainly CSS) as I am creating the elements. I came up with the below function to quickly set attrs for me given an input array: // Sample array structure of apply_settings //var _button_div = { // syle : { // position: 'absolute', // padding : '2px', // right : 0, // top : 0 // } //}; function __apply_settings(__el,apply_settings){ try{ for(settingKey in apply_settings){ __setting = apply_settings[settingKey]; if(typeof(__setting)=='string'){ __el[settingKey] = __setting; }else{ for(i in __setting){ __el[settingKey][i] = apply_settings[settingKey][i]; } } } }catch(ex){ alert(ex + " " + __el); } } The function works fine except here: function __draw_top(){ var containerDiv = document.createElement('div'); var buttonDiv = document.createElement('div'); __apply_settings(containerDiv,this.settings.top_bar); if(global_settings.show_x) buttonDiv.appendChild(__create_img(global_settings.images.close)); containerDiv.appendChild(buttonDiv); __apply_settings(buttonDiv,this.settings.button_div); return containerDiv; } The specific section that is failing is __apply_settings(buttonDiv,this.settings.button_div); with the error "Cannot set property 'position' of undefined". So naturally, I am assuming that buttonDiv is undefined.. I put alert(ex + " " + __el); in __apply_settings() to verify what I was working with. Surprisingly enough, the element is a div. Is there any reason why this function would be working for containerDiv and not buttonDiv? Any help would be greatly appreciated :) {EDIT} http://jsfiddle.net/Us8Zw/2/

    Read the article

  • Combining multiple jQuery functions

    - by Mark
    Is there any way to combine all of this to reduce the amount of js? This is just an example of some of the jquery dialogs I have in my site, there are a few more too. Thanks. //initiate Search refinement dialog here $("#chooseMoreCnt, #chooseMoreCat, #chooseMorePr").dialog({ bgiframe: true, autoOpen: false, width: 500, modal: true, open: function(type, data) { $(this).parent().appendTo(jQuery("form:first")); } }); //trigger country dialog $('a.chooseMoreCnt').click(function() { $('#chooseMoreCnt').dialog('open'); return false; }); //trigger category dialog $('a.chooseMoreCat').click(function() { $('#chooseMoreCat').dialog('open'); return false; }); //trigger price dialog $('a.chooseMorePr').click(function() { $('#chooseMorePr').dialog('open'); return false; });

    Read the article

  • Can I find out the return value before returning while debugging in Visual Studio

    - by doekman
    Take the following function: DataTable go() { return someTableAdapter.getSomeData(); } When I set a breakpoint in this function, is there a possibility to inspect the returned value? The "go" function is directly coupled to a datagrid in an aspx page. The only way to inspect the returned datatable, is to use a temporary variable... However, that's a bit inconvenient. Isn't there another way?

    Read the article

  • Dynamically adding radio buttons using JQUERY and then hooking up the jquery change event to the gen

    - by Barry
    i am adding collection of radio buttons to my page using jquery below $(document).ready(function() { $("#Search").click(function() { var keyword = $('#keyWord').val(); var EntityType = $("#lstEntityTypes :selected").text(); var postData = { type: EntityType, keyWord: keyword }; // alert(postData.VehicleType); $.post('/EntityLink/GetJsonEntitySearchResults', postData, function(GRdata) { var grid = '<table><tr><td>ID</td><td>Name</td><td></td>'; for (var i = 0; i < GRdata.length; i++) { grid += '<tr><td>'; grid += GRdata[i].ID; grid += '</td><td>'; grid += GRdata[i].EntityName; grid += '</td><td>'; grid += '<input type="radio" name="EntitiesRadio" value="' + GRdata[i].ID + '" />'; grid += '</td></tr>'; } grid += '</table>'; alert(grid); $("#EntitySearchResults").html(grid); $("EntitiesRadio").change(function() { alert($("EntitiesRadio :checked").val()); $("EntityID").val($("EntitiesRadio :checked").val()); alert($("EntityID").val()); $("EntityName").val($("#lstEntityTypes :selected").text()); }); }); }); // }); so when page loads there is not EntitiesRadio name range, so i tried to register the entitiesRadio change function inside the same search click method but it isnt registering. how do i get the change event to fire to update my hidden inputs

    Read the article

  • ASP.NET MVC - Form Post always redirect when I just want to bind json result to a div

    - by Saxman
    Hi all, I'm having a little problem with json result. I'm submitting a contact form, and after the submission, I just want to return some json data (indicating either a success or failed and displays a message) back to the view, without causing a redirect, but it kept redirecting me to the action, here are the codes: HTML <div id="contactForm2" class="grid_6"> <div id="contactFormContainer"> @using (Html.BeginForm(MVC.Home.ActionNames.ContactForm, MVC.Home.Name, FormMethod.Post, new { id = "contactForm" })) { <p> <input type="text" tabindex="1" size="22" value="" id="contactName" class="text_input required" name="contactName" /> <label for="contactName"> <strong class="leftSpace">Your Name (required)</strong></label></p> <p> <input type="text" tabindex="2" size="22" value="" id="contactEmail" class="text_input required" name="contactEmail" /> <label for="contactEmail"> <strong class="leftSpace">Email (required)</strong></label></p> <p> <input type="text" tabindex="2" size="22" value="" id="contactPhone" class="text_input" name="contactPhone" /> <label for="contactPhone"> <strong class="leftSpace">Phone</strong></label></p> <p> <label> <strong class="leftSpace n">Message (required)</strong></label> <textarea tabindex="4" rows="4" cols="56" id="contactMessage" class="text_area required" name="contactMessage"></textarea></p> <p> <input type="submit" value="Send" tabindex="5" id="contactSubmit" class="button submit" name="contactSubmit" /></p> } </div> <div id="contactFormStatus"> </div> </div> Controller [HttpPost] public virtual JsonResult ContactForm(FormCollection formCollection) { var name = formCollection["contactName"]; var email = formCollection["contactEmail"]; var phone = formCollection["contactPhone"]; var message = formCollection["contactMessage"]; if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(email) || string.IsNullOrEmpty(message)) { return Json(new { success = false, message = "Please complete all the required fields so that I can get back to you. Thanks." }); } // Insert contact form data here... return Json(new { success = true, message = "Your inquery has been sent. Thank you." }); } javascript $(document).ready(function () { $('#contactSubmit').live('click', function () { var form = $('#contactForm'); var formData = form.serialize(); $.post('/Home/ContactForm', formData, function (result) { var status = $('#contactFormStatus'); if (result.success) { $('#contactForm')[0].reset; } status.append(result.message); }, 'json' ); return false; }); }); I've also tried this javascript, but also got a redirect $(document).ready(function () { $('#contactSubmit').live('click', function () { var form = $('#contactForm'); var formData = form.serialize(); $.ajax({ type: 'POST', url: '/Home/ContactForm', data: formData, success: function (result) { SubmitContactResult(result); }, cache: false }); }); function SubmitContactResult(result) { var status = $('#contactFormStatus'); if (result.success) { $('#contactForm')[0].reset; } status.append(result.message); } }); Any idea what's going on with my code? Thank you very much.

    Read the article

  • jQuery-driven app. won't work without alert()

    - by webjawns.com
    I have seen a lot of articles on this, but none dealing with jQuery, so here I go... I am implementing a version of a script from http://javascript-array.com/scripts/jquery_simple_drop_down_menu/ into an existing application; however, I cannot get it to work without adding alert('msg...') as the first method within the $(document).ready() call. This has nothing to do with load time... no matter how long I wait, the menu does not work. Add alert(), however, and it works like a charm. var timeout = 500; var closetimer = 0; var ddmenuitem = 0; function jsddm_open() { jsddm_canceltimer(); jsddm_close(); ddmenuitem = $(this).find('ul').css('visibility', 'visible');} function jsddm_close() { if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');} function jsddm_timer() { closetimer = window.setTimeout(jsddm_close, timeout);} function jsddm_canceltimer() { if(closetimer) { window.clearTimeout(closetimer); closetimer = null;}} $(document).ready(function() { $('#jsddm > li').bind('mouseover', jsddm_open) $('#jsddm > li').bind('mouseout', jsddm_timer)}); document.onclick = jsddm_close;

    Read the article

  • Publish to Facebook Stream in as3

    - by Kid Adiran
    Hi, I am trying to publish to a users stream when they click a share button in my flash app that i have living in a tab on a fan fan. I basically have my swf embedded on a page that has a java script function that calls the facebook share dialogue. Here is what i got so far: // flash embedd <fb:fbjs-bridge/> // share function <script> function publishfeed() { var attachment = {'media':[{'type':'image','src':'http://bit.ly/AJTnf','href':'http://bit.ly/hifZk'}]}; Facebook.streamPublish('', attachment); } In my flash file, I try using this code to get it to pull the javascript funtion, but no luck. function jspopupWindow(event:MouseEvent):void { var request:URLRequest = new URLRequest("javascript:publishfeed()"); navigateToURL(request,"_blank"); } share_btn.addEventListener(MouseEvent.CLICK, jspopupWindow); Can anyone help me, what am i missing? thanks a

    Read the article

  • Assign click event to addon icon on navigation bar

    - by Charsee
    We have created a chrome extension for our app. Where we call a METHOD from a "js file" on CLICK event of the "extension icon" placed on the navigation bar. For this we use message passing between the app.js (file containing the METHOD to be called on icon click) and background.html (using a js file included in this html). The script used to pass message is:(from background.html) chrome.browserAction.onClicked.addListener(function (tab) { chrome.tabs.sendMessage(tab.id, "showPopup"); }); and to listen the message :(in app.js) chrome.extension.onMessage.addListener(function(request) { if (request === "showPopup") { showPopup(); } }); The click event works as expected. But now we want to do same thing in mozilla extension. and we can't pass message to app.js on the click of the icon,so that it can execute the containing methods. We have also added the app.js using pageMod, something like this exports.main = function(options, callbacks) { pageMod.PageMod({ include: ["*"], contentScriptWhen: 'start', contentScriptFile: [data.url('jquery-1.7.1.min.js'),data.url('app.js')] }); createAndAddNavBarButton(); }; function createAndAddNavBarButton() { var navBar = document.getElementById('nav-bar');//assume document has been defined if (!navBar){return;}; var nbBtn = document.createElement('navbaricon'); nbBtn.setAttribute('id', 'navButton'); nbBtn.setAttribute('image', data.url('icon_16.png')); nbBtn.onclick = function(){ showPopup(); return true; } navBar.appendChild(btn); } But the click event does nothing and showPopup() is undefined. When a new page loads event associated with it in the app.js executes without any error but the click event doesn't work. Is there a method from where we can assign click event directly to this icon, as we have done in the case of chrome extension.

    Read the article

< Previous Page | 561 562 563 564 565 566 567 568 569 570 571 572  | Next Page >