• Login
    • Search
    • Categories
    • Recent
    • Tags
    • Users
    • Groups
    • Rules
    • Help

    Do more on the web, with a fast and secure browser!

    Download Opera browser with:

    • built-in ad blocker
    • battery saver
    • free VPN
    Download Opera

    Web Panel

    Opera add-ons
    6
    31
    12.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ornette
      ornette last edited by 18 Aug 2015, 09:41

      This is a great extension, I couldn't live without it, as I always used a webpanel in Opera 12 to follow tennis live scores (using the mobile site http://m.tennistemple.com/ )

      The only thing that that I'm missing from the Opera 12 webpanel feature is the possibility to reduce the font size (zoom). As I generally use 110% or 125% zoom in for websites (on high resolution monitors), the font on the webpanel is a bit too large. In Opera 12, I zoomed the webpanel out to 80% in order to make it more compact while still being readable.

      Reply Quote 0
        1 Reply Last reply
      • A Former User
        A Former User last edited by 18 Aug 2015, 18:01

        @gustavwiz
        Vivaldi just pushed version with web panel
        they don't have x-frame restrictions ofc (they made it internally)

        Reply Quote 0
          1 Reply Last reply
        • A Former User
          A Former User last edited by 18 Aug 2015, 22:40

          Yeah, I'm using vivaldi right now, their web panel function is actually awesome. Web panel doesn't reload when you change sidebar tab. It doesn't have a back or forward button yet though.

          Reply Quote 0
            1 Reply Last reply
          • nekomajin
            nekomajin last edited by 18 Aug 2015, 22:45

            @gustavwiz
            Vivaldi just pushed version with web panel
            they don't have x-frame restrictions ofc (they made it internally)

            It can be done with the webRequest API. https://developer.chrome.com/extensions/webRequest

            I was experimenting with a similar extension, and I was able to load any site. There is an extension to bypass the x-frame. It worth to take a look at the source code. https://chrome.google.com/webstore/detail/ignore-x-frame-headers/gleekbfjekiniecknbkamfmkohkpodhe

            Reply Quote 0
              1 Reply Last reply
            • gustavwiz
              gustavwiz last edited by 22 Aug 2015, 17:23

              @vux777:

              and maybe listen for clicks on links and where it takes....

              The problem is that I can only do this from the content script 🙂

              It is really in the content script I need to find out if the frame is the iframe in the sidebar.

              Reply Quote 0
                1 Reply Last reply
              • gustavwiz
                gustavwiz last edited by 22 Aug 2015, 17:27

                @nekomajin

                It can be done with the webRequest API. https://developer.chrome.com/extensions/webRequest

                I was experimenting with a similar extension, and I was able to load any site. There is an extension to bypass the x-frame. It worth to take a look at the source code. https://chrome.google.com/webstore/detail/ignore-x-frame-headers/gleekbfjekiniecknbkamfmkohkpodhe

                Actually I'm already using the code from that extension 🙂

                It's working on several sites, but not all.

                Reply Quote 0
                  1 Reply Last reply
                • nekomajin
                  nekomajin last edited by 23 Aug 2015, 11:43

                  Actually I'm already using the code from that extension
                  It's working on several sites, but not all.

                  Is there anything common in those sites?

                  Reply Quote 0
                    1 Reply Last reply
                  • gustavwiz
                    gustavwiz last edited by 23 Aug 2015, 11:51

                    @nekomajin

                    Is there anything common in those sites?

                    I don't know, I haven't analyzed this further.

                    Reply Quote 0
                      1 Reply Last reply
                    • A Former User
                      A Former User last edited by 23 Aug 2015, 12:54

                      The problem is that I can only do this from the content script
                      It is really in the content script I need to find out if the frame is the iframe in the sidebar.

                      I think there is a couple of tricks to get what you need (messaging from iframe?!)
                      document.referrer from within iframe is one of them and probably the simplest one
                      compare it to your extension panel url and set the flag in your content script for further actions

                      Reply Quote 0
                        1 Reply Last reply
                      • gustavwiz
                        gustavwiz last edited by 25 Aug 2015, 16:05

                        @vux777

                        document.referrer doesn't work. Either it shows nothing, or on some sites, like instagram, it shows the url of that site...

                        Reply Quote 0
                          1 Reply Last reply
                        • A Former User
                          A Former User last edited by 25 Aug 2015, 20:27

                          ok, another solution is messaging system
                          content script with all frames

                          this is a content script

                          window.onload = function() {
                          	if (window !== window.top) {
                          		var allLinks = document.links;
                          		for (var i=allLinks.length-1; i>=0; i--) {
                          			if (allLinks[i].href.startsWith('http://') || allLinks[i].href.startsWith('https://'))
                          				allLinks[i].addEventListener('click', clickLink, false);
                          		}
                          	} 
                          }
                          
                          function clickLink(e) {
                          	chrome.runtime.sendMessage({fromCnt: 'newLink', link: this.href});
                          }
                          

                          in your panel script add:

                          chrome.runtime.onMessage.addListener(function(message, sender) {
                          	if (message.fromCnt && !sender.frameId) console.log(message.link);
                          });
                          

                          and observe console log (from panel)
                          you will get link clicks only from your iframe panel, and you can save those links in array to be able to go back
                          you already have links that user inserted into address form

                          from regular tabs, every sender object have frameId and object tab
                          from sidebar frame, there is only sender ID (extension id) and URL
                          ...this is for every page I tested...with iframes or without iframes

                          so this could be the pattern to recognize where from message came, and ofc. to mantain the list of user navigation... simply save those urls in array and on button BACK load n-1

                          Reply Quote 0
                            1 Reply Last reply
                          • A Former User
                            A Former User last edited by 26 Sept 2015, 07:51

                            The web panel has become completely unusable sadly. It reloads not only whenever you change to another sidebar extension, but also when you hide sidebar or just web panel itself. I know it's opera's fault, but is there nothing that can be done about it?

                            Reply Quote 0
                              1 Reply Last reply
                            • gustavwiz
                              gustavwiz last edited by 14 Nov 2015, 12:56

                              @vux777:

                              Sorry for the small delay, I've been inactive for a while with the development 🙂

                              You solution worked great, it was this part that was really useful:

                              chrome.runtime.onMessage.addListener(function(message, sender) {
                                if (message.fromCnt && !sender.frameId) console.log(message.link);
                              });
                              

                              I don't have to do all that link stuff, I just take the window.location.href, and every time the user goes to another page I will get it.

                              I plan to release an update soon, where I will fix a couple of problems, add features and publish the code on github.

                              Reply Quote 0
                                1 Reply Last reply
                              • A Former User
                                A Former User last edited by 14 Nov 2015, 14:48

                                🆙

                                Reply Quote 0
                                  1 Reply Last reply
                                • gustavwiz
                                  gustavwiz last edited by 7 May 2016, 20:04

                                  Now I've worked a bit on the extension and added the following features:

                                  • Back and forward buttons
                                  • Auto refresh options by right clicking the reload button
                                  • Mobile user agent option, by right clicking the expand button (three dots)
                                  • Also a couple of bug fixes

                                  I plan to release it soon, but before I do that it would be great if some other user could test it. It's available on github, and if you don't know how to install it you can follow the steps there.

                                  https://github.com/ekner/Web-Panel

                                  Report bugs, issues and suggestions here, on the addons-page, or on github.

                                  Reply Quote 0
                                    1 Reply Last reply
                                  • First post
                                    Last post

                                  Computer browsers

                                  • Opera for Windows
                                  • Opera for Mac
                                  • Opera for Linux
                                  • Opera beta version
                                  • Opera USB

                                  Mobile browsers

                                  • Opera for Android
                                  • Opera Mini
                                  • Opera Touch
                                  • Opera for basic phones

                                  • Add-ons
                                  • Opera account
                                  • Wallpapers
                                  • Opera Ads

                                  • Help & support
                                  • Opera blogs
                                  • Opera forums
                                  • Dev.Opera

                                  • Security
                                  • Privacy
                                  • Cookies Policy
                                  • EULA
                                  • Terms of Service

                                  • About Opera
                                  • Press info
                                  • Jobs
                                  • Investors
                                  • Become a partner
                                  • Contact us

                                  Follow Opera

                                  • Opera - Facebook
                                  • Opera - Twitter
                                  • Opera - YouTube
                                  • Opera - LinkedIn
                                  • Opera - Instagram

                                  © Opera Software 1995-2025