iframe - is there a way to display the browser's menu bar, and other items like address bar, in an iframe

StackOverflow https://stackoverflow.com/questions/15329388

Вопрос

I know how to specify "windowFeatures" such as menubar when creating a new window via JavaScript - open(url, windowname, windowfeatures)

My question is: is there a comparable feature with an iframe? Can windowproperties be assigned to an iframe?

I've searched with Google and all I can find is people asking questions about putting their web pages' menu in an iframe not getting the browser's menu to display.

Is there any way to do this?

Bob

*UPDATE* - I'm finishing up work on what I call rknWindows (rkn = my initials) which are really divisions which are movable and re-sizable and looks like a Window.

The content of the rknWindow is an iframe into which you can load a web page.

My intent is for a way to provide the visitor with another way to view information about the site in a popup window that is not a popup window, so to speak.

I decided I needed something like this as I worked on trying to revise and improve Jon Psalmonds Info Net

The site contains a huge amount of data and I'm about to add even more. Currently it causes data overload for visitors and with the new information it will be even worse.

On the total replacement site, I've used collapsible/expandable divisions, something I call a sideBox (a small box that expands in-place - sort of like a collapsible/expandable division but looks different) but I still hadn't a arrived at what I'm looking for.

I decided, for one thing, that I need to provide a Help system to explain all the features and types of information on the site and my first thought was a series of help pages.

But I wanted something which would be displayed in the browser window, the same window as the page the visitor is reading, not a link to another page opened either in the same window or a new window. Something that could be re-sized, moved, opened, and closed - like a window.

I looked around to see how others had attacked the problem and played around with a couple of them.

One I looked at and liked is dynDiv However, it did not have the format/view nor some of the features I want.

So, I've made major changes to dynDiv, I've dropped some features, added new ones, made the creation of the division completely dynamic, only support divisions with iframes, not just text, etc. etc.

I was just testing features when it struck me that an iframe does not display any of the properties you can specify for a new window.

I'm not exactly sure how I would use them, but I know that something is on one of my brain's back burners that may brew up into a use for them.

Thus my question.

As to the rknWindows, when I've got it fully tested, working and looking as I want, and fully documented, I'll put pages about the facility on my web site

If you are wondering, I will give credit to Markus Bordihn for the base upon which I have built but given the extent of my changes (and some I'm working on now) it is really a new facility, built on the basics of dynDiv.

That's why I asked my question about "windowproperties" for an iframe.

Second Update

Here's the definition of an rknWindow, as it now stands - I'm still refining things (this all, of course, does not standalone, there is a lot of CSS and JavaScript that plays vitals roles):

<div id="test_rknWindow" class="rknWin_Parent rknWinElem" style="top: 5px; left: 5px; width: 300px; height: 150px; display: inline; z-index: 2; visibility: visible;" indexarrayindex="0">
    <div class="rknWin_titleBar rknWinElem" id="test_titleBar">test title</div>
    <img src="img/rknwin/closeButton.png" style="height: 14px; width: 16px;" class="rknWin_closeBttn">
    <div style="top: 20px; width: 300px; height: 108px;" class="rknWin_Contents_Iframe rknWinElem" id="test_contents">
        <div id="test_disableIframe" class="rknWin_disableIframe rknWinElem" style="z-index: 11; display: none;"></div>
        <iframe id="test_iframe" class="rknWin_iframe rknWinElem" name="rknWin_iframe" src="rknwin/explainsic.shtml"></iframe>
    </div><div style="width: 300px; cursor: default;" class="rknWin_statusBar rknWinElem" id="test_statusBar"></div>
    <div class="rknWin_corner_BR rknWinElem"></div>
    <div class="rknWin_corner_LTl rknWinElem"></div>
    <div class="rknWin_corner_LTt rknWinElem"></div>
    <div class="rknWin_corner_RTt rknWinElem"></div>
    <div class="rknWin_corner_RTr rknWinElem"></div>
    <div class="rknWin_corner_LBb rknWinElem"></div>
    <div class="rknWin_corner_LBl rknWinElem"></div>
    <div class="rknWin_border_Lm rknWinElem" id="test_border_Lm" style="height: 118px;"></div>
    <div class="rknWin_border_Tm rknWinElem" id="test_border_Tm" style="width: 268px;"></div>
    <div class="rknWin_border_Bm rknWinElem" id="test_border_Bm" style="width: 262px;">
    </div><div class="rknWin_border_Rm rknWinElem" id="test_border_Rm" style="height: 118px;"></div>
</div>

Here's a bit of the code that creates that:

     var source = ((rknSrc !== undefined) && (rknSrc !== null)) ? rknSrc : "";
     var rknWin = document.createElement("div");
     rknWin.id = rknName + "_rknWindow";
     rknWin.className = "rknWin_Parent rknWinElem";
     rknWin.style.top = Top + "px";
     rknWin.style.left = Left + "px";
     rknWin.style.width = Width + "px";
     rknWin.style.height = Height + "px";
     rknWin.rknWinType = "rknWindow";
     rknWin.style.display = "none";
     rknWin.rknInitDisplay = (rknDisplay === true) ? true : false;
     rknWin.rknWinParent = true;
     rknWin.rknWinName = rknName;

     var rknTitleBar =  document.createElement("div");
     rknTitleBar.className = "rknWin_titleBar rknWinElem";
     rknTitleBar.id = rknName + "_titleBar";
     rknTitleBar.rknWinType = "titleBar";

     rknWin.appendChild(rknTitleBar);

Remember, none of this is yet ready for public release. I am going back over the code this evening, refining and fully commenting it.

So, that's how I'm doing it - as of right now.

I will look into facilities that have been mentioned in answers.

Это было полезно?

Решение 2

Short answer: Nope.

But maybe I can help with alternatives if you described why you want to do that?

UPDATE

Well I think it might be hard to know exactly what you're dealing with without actually seeing it. But from what you've said it sounds like it basically comes down to this: you have a lot of content and want the user to be able to view portions of it in independent 'divisions' that operate somewhat independently. It sounds to me like you need to take advantage of ajax to dynamically load content, and use a good UI library to help you render the data dynamically. Use the DOM for what it is and its capabilities. Look up javascript template engines and there will be a lot of examples -- such as KnockoutJS, backbone, AngularJS.. there are dozens. No idea honestly if this type of technology actually helps you solve the problem you're trying to solve, but that's my instinct -- that you're kind of barking up the wrong tree trying to use iframes in ways they are just not suited for.

Другие советы

No there isn't and there should not be.

In terms of the browser menu, no you cannot.

BUT, you can recreate the address bar, the fwd/back & refresh button, and the new tab button with javascript.

The controls would have to be located outside the iframe.

Address bar & refresh: using window.location.

Fwd/back buttons: using an array & window.location or history.pushstate.

New Tab: document.createElement('iframe');

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top