Michael Pritchard <[EMAIL PROTECTED]> writes:

> On 03/11/05, Dogsbody <[EMAIL PROTECTED]> wrote:
>
>> I don't mind the links to the HTML pages especially as you have the nice
>> choice screen that asks if you want WMV or Real content however once you
>> have then picked would it be possible to have a link direct to the media
>> underneath the embedded video.
>
>
> if you use firefox and greasemonkey see my script here:
>
> http://www.blueghost.co.uk/bbc_vp.html
>
> it should show a link to the media file, see the screenshots on the website
>
> Where I work I can view Real content but not when it is embedded in
> a page.

Yo Dan.

I wrote something like this as well. It's a bit more generic but not
much, I've attached it.

I like your idea of using an image associated with the mime type, mine
has a generic image to show that there is content on the page.

I prefer my idea of using a scroll down window though...


Do you think there are synergies (lol!) between your GM and mine?



Nic

// Copyright (C) 2005 by Tapsell-Ferrier Limited
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html

// ==UserScript==
// @name          media-download
// @namespace     http://www.tapsellferrier.co.uk/greasemonkey/media-download
// @description   download hidden media
// @include       http://*
// ==/UserScript==

(function() {
  
  // Shameless rip offs from technoproxy
  var closeIcon = 
"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%0F%00%00%00%0F%08%06%00%00%00%3B%D6%95J%00%00%00%06bKGD%00%FF%00%FF%00%FF%A0%BD%A7%93%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%07tIME%07%D5%07%05%0B%1B%04%A9%D7%EB%7C%00%00%00%1DtEXtComment%00Created%20with%20The%20GIMP%EFd%25n%00%00%00%B6IDAT%28%CF%9D%D3%3BnB1%10%85%E1%CFW%20H%AA4%B4%B0%01%9A%AC%C1%EB%F6%1A%B2%85%40OA%22%24%1E%22%A4%C0%89%AC%8B%7D%03%99%F2%CC%F9%8F%3D%D68%40b%81w%F7%D7Kd%1B%12c%1C%3D%5E%AF%A3%02%9Cb%14%D9%B5%DC%89%E7%EC%3F%E1%AD%2Bz%27L%12%97%06x%C1%19_%3F%DA%2F%1C%AF%E2%A60%F6A%D8%C7%1A%9C%03B%1F%28%83%CA%FE%0D%DC%0A%A8%81U%B8f%AC%81Mx%60%E6a%B8u%D5Z%40%F7%178%14%10%0Aa%96%17%60%5B%9B1%FB%C6x%C2G%FF%E4O%9C%5B%8F%93%F5N%B1%81%211%C7%EA%1F%BB%3D%ED%22k%D7_%F5H-%23%87od-9%C2L%10%A8%1A%00%00%00%00IEND%AEB%60%82";
  var bg = 
"url(data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%1E%00%00%00%1E%08%06%00%00%00%3B0%AE%A2%00%00%00%06bKGD%00%FF%00%FF%00%FF%A0%BD%A7%93%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%07tIME%07%D5%07%05%0C%0C%2C%9C%AE%D1%95%00%00%00%1DtEXtComment%00Created%20with%20The%20GIMP%EFd%25n%00%00%00-IDATH%C7%ED%CD1%01%000%08%030%98%7FoH%2A%12v%F2%24%06%D2I%A6%0E%BC%3A%22%16%8B%C5b%B1X%2C%16%8B%C5%E2%BF%05%88%3D%04%08%29%DD%FEc%00%00%00%00IEND%AEB%60%82)";

  var cameraIcon = 
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAZCAQAAADp0aTuAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAA"
+"LiMAAC4jAXilP3YAAAAHdElNRQfVChoVJS7V+zTVAAACp0lEQVQ4y+WVTUhUURTHf/fNm5xRUZvJ"
+"+2ayFuHYh0pEEUW1CZIQCSIrhUIia2FRC4sgJqQWErRItK9FH4uIIJBoFdgXLaIPkAgz0kQMKmfe"
+"m0zQxmKamdtCZ2yq8UXLeqvz7uX+OP9z7v9c+I8+qQHof3fYKFISiYsnVjRzR9gdLXY65iRzKMeH"
+"pAQDLw6SjGExTJxNotHsncpQWCorsFgXS/CzjDUEMHnJMCYhQoStSIbMsi/t4y10TyN/AzQ8NKul"
+"vCBArjiSGPioZpTg5hp1xLOXtkLelesAPEJeNdbb11NrEDUz9eqwrE3HLtnl89oB872FN37A/7I/"
+"xKJUaH0VwWSrHfDzSE5BVmCJ0O5RL4PyqK8QwOxGNxbaqh4z5qZCHcAoU00EiDLrWylvucl9CpKd"
+"cp81AKJNHeCADXBQBRhOZygraGeMKizq2ElYXLGeWne0Bs5KHcxXLPA7bYDD+H6UfIzdjOPiINf1"
+"1+KQChpuCIe4xWYAHidW2kmedpzmF7hVjC0AbIsfMaPiFE0AdFI9CWT1DLfCLRvZL3rTwISDr1Ty"
+"Yeo/KL3moPJJAVYED4DopzQLbLFs4z65bDB7ppuSxEUiVVLy2M4FYjiJAU4ANToJznBTrqqlgRHa"
+"VXMkw0malcSh9eLhzdTKKiAunGD4iQGIOImMvFbI86oLD/VWvfUk8pMxdaA/OR+HOKdO40BhAG6l"
+"ZItaIQ4DqLwUUHrZwVb6uGw9y1ZTHbhIkDZ1VKxVc6ihQOawgeXAZXMAQExwYp4e28guKjmpVYej"
+"MzVcABjHeafy2EMPtZwRAdVhPTTy1W2eM84os/FTzjO6HA9CMTvTCIBiTXTwiQesppU+sdd8PDla"
+"RQVFgOK9Gook/2yWp+ehrGI7hTzSLoUn/u237zvXadYs50ZyBgAAAABJRU5ErkJggg==";
  
  // Indicates whether the media panel should be displayed or not
  var media_on = false;

  var media_popup = document.createElement("img");
  media_popup.src = cameraIcon;
  media_popup.style.display = "block";
  media_popup.style.position = "fixed";
  media_popup.style.right = "0";
  media_popup.style.left = "auto";
  media_popup.style.zIndex = 10;
  media_popup.onclick = function ()
    {
      media_popup.style.display = "none";
      media_panel.style.display = "block";
    };
    
  // Setup the container for any media we find
  var closeButton = document.createElement("img");
  closeButton.id = "close";
  closeButton.src = closeIcon;
  // closeButton.style.paddingTop = "10px";
  closeButton.style["float"] = "left";
  closeButton.onclick = function ()
    {
      media_panel.style.display = "none";
      media_popup.style.display = "block";
    };

  var title = document.createElement("p");
  title.appendChild(document.createTextNode("Content found"));
  title.style.font = "14pt sans-serif";
  title.paddingRight = "10%";

  var media_panel = document.createElement("div");
  media_panel.appendChild(closeButton);
  media_panel.appendChild(title);
  media_panel.style.background = bg;
  media_panel.style.width = "30%";
  // media_panel.style.height = "100%";
  media_panel.style.border = "thin solid gray";
  media_panel.style.position = "fixed";
  media_panel.style.right = "0";
  media_panel.style.left = "auto";
  media_panel.style.font = "8pt sans-serif";
  media_panel.style.paddingLeft = "1%";
  media_panel.style.paddingRight = "1%";
  media_panel.style.paddingBottom = "2%";
  media_panel.style.textAlign = "right";
  media_panel.style.zIndex = 10;
  media_panel.style.display = "none";

  // Object based media
  var allobjects = document.evaluate("//[EMAIL PROTECTED]'MediaPlayer']", // 
not sure about this - seems to be common
                                     document,
                                     null,
                                     XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, 
null);
  for (var i = 0; i < allobjects.snapshotLength; i++)
    {
      var object = allobjects.snapshotItem(i);
      var params = object.getElementsByTagName("param");
      for (var j = 0; j < params.length; j++)
        {
          if (params[j].name == "filename")
            document.location = params[j].value;
        }
    }

  var fre = new RegExp("[/?]");

  // Now look for embeds
  var embeds = document.evaluate("//embed", document, null, 
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  for (var i = 0; i < embeds.snapshotLength; i++)
    {
      var embed = embeds.snapshotItem(i);
      var link = document.createElement("a");
      link.href = embed.src;
      var fnameParts = embed.src.split(fre);
      link.appendChild(document.createTextNode(fnameParts[fnameParts.length - 
1]));
      media_panel.appendChild(link);
      media_on = true;
    }

  // Look for alternates
  var alternates = document.evaluate("//[EMAIL 
PROTECTED]'alternate'][contains(@type, 'xml')]",
                                     document, null, 
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  for (var i = 0; i < alternates.snapshotLength; i++)
    {
      var alt = alternates.snapshotItem(i);
      var link = document.createElement("a");
      link.href = alt.href;
      var fnameParts = alt.href.split(fre);
      link.appendChild(document.createTextNode(fnameParts[fnameParts.length - 
1]));
      media_panel.appendChild(link);
      media_on = true;
    }

  // Now display the media panel if necessary
  if (media_on)
    {
      document.body.insertBefore(media_panel, document.body.firstChild);
      document.body.insertBefore(media_popup, document.body.firstChild);
    }
  
 })();
// End.
  

Reply via email to