Yesterday I was working on a site that needed an iframe embedded in the page whose content came from a completely different domain. I try to steer clear of iframes at all costs normally so forgive me if what I’m about to say is pretty obvious.
I didn’t want the content in the iframe to appear as though it was in an iframe, so obviously I stripped off all the default browser styles…well, the border. I wanted the iframe to be as high as the content it was containing so that no scroll bars would appear.
So what I did was just give the iframe a height, however when the user navigated to a different page within the iframe, the height I had previously set was too big or too small.
I instantly thought “right, JavaScript will sort this out for me!” and proceeded to quickly code up a function that would inspect the scrollHeight of the content in the iframe and adjust the iframe height accordingly.
No! Said cross domain policy. I had momentarily forgotten all about that. Since the iframe content came from a different domain, I wasn’t allowed to access the document object of the iframe (or vice versa).
Firefox says “Error: Permission denied to access property ‘document’” and other browsers similar.
I started searching for some kind of workaround. Of course there isn’t really one…except I did find an interesting hack for Firefox. Which is – an iframe document can alter the url fragment of the parent window’s location object! ha madness.
The idea is that the document in the iframe alters the url fragment to read:
http://freestyle-developments.co.uk/blog/?p=150#138
Where 138 is the height of the iframe document (obviously you could be a bit more fancy and send other parameters and name them e.g #height:138 but for simplicity I’ve just set the value). The parent then reads this value and sets the iframe height accordingly:
var iFrameHeight = parseInt(location.hash.replace('#', ''));
So…yeah, that’s pretty interesting, but not really a solution. Check out the example implementation here.
Anyway, what to do? HTML5 web messaging to the rescue! Sweet! HTML5 web messaging is cross domain messaging done right. Not only does the messenger choose who should receive messages, but the recipient also chooses who to receive messages from.
The idea is that after the iframe document has loaded, it sends a message to the parent window telling it what it’s scrollHeight is. The parent listens for messages, and sets the height of the iframe when it receives a message.
A couple of things to note:
- There has to be communication between the two documents. i.e. the document on the external domain needs to actively send this message. Which can be a complete show stopper if you have no control over the document on the external domain
- This isn’t going to work on IE < 9. I tested the implementation linked below is working on FireFox 4 (Beta 7), Safari 5.0.2, Chrome 8, Opera 10.63 and Internet Explorer 9 Platform Preview 7. Which is a pretty good spread to be honest
Check out the example HTML5 web messaging implementation here.
Your on-page tips improved our metadata. Then SEO Company A/B tested titles and boosted our organic CTR.
I’ve had some not-so-great moving experiences in the past, but Augusta moving companies really seem to care about their customers. Very impressed! Augusta Mover’s
рейтинг казино онлайн на деньги Мечтаете о захватывающих играх и крупных выигрышах? Наш ресурс поможет вам найти официальный сайт онлайн казино в России где вас ждут лучшие слоты рулетка блэкджек и многое другое. Присоединяйтесь к миру азарта
If you’re considering metal roofing in Montgomery IN, this guide addresses noise, warranties, and contractors. Roofing Contractor Montgomery IN
The section on proper attic baffles is key. Roofing Company Bismarck ND installs baffles to maintain clear airflow paths. https://www.google.co.in/search?q=Teamwork+Exteriors&ludocid=4071988050214638827
Solid overview on candidacy criteria. American Laser Med Spa evaluates thoroughly injectable fat dissolving
Roof age affects rates. I confirmed underwriting rules with Cole Green .
Love it. Mesa homes with older pipes should schedule inspections to avoid leaks. Water damage restoration Mesa AZ
Action therapy puts you back in the driver’s seat. Learn how at winnipeg action therapy .
The staff training levels really matter. respite care for families shows certifications and continuing education details where available.
This is helpful! Professional Joliet auto transport makes life easier. Joliet car transport
Who knew there have been so many options for carpet care? Glad I found out out approximately this via ## carpet cleaning service
Insurance claims can be confusing; having OT Vancouver provide functional capacity evaluations really helps. I used this page to get started: occupational therapist Vancouver .
работа 5 качество 5 опреративность 5 купить кокаин мефедрон гашиш бошки Куртамыш с искреннем уважением к вам
Great points made about storage solutions in small kitchens; those tips will definitely save space—more organization tricks available at Cabinet Maker Los Angeles !
Well done! Find more at vinyl vehicle wrapping service .
Well explained. Discover more at kosmetologia estetyczna .
Cảm giác hồi hộp khi chơi tại đăng ký Viva thật sự khác biệt so với những nơi khác.
Chỉ cần tất cả đồng lòng hướng tới mục tiêu chung thì chắc chắn cộng đồng yêu thích trò chơi giải trí online đa dạng phong phú ấy đều đạt được thành quả mỹ mãn xuất phát từ cơ hội tiềm năng nằm bên trong mỗi mối quan hệ đẹp đẽ xảy ra hàng ngày dưới ánh ibet
Không thể tin nổi rằng mình lại tìm được một nơi cá cược hoàn hảo như vậy – cám giác thật tuyệt vời!!!## anyKeywords ## 365Bet
Kèo trực tuyến thường xuyên thay đổi, vì vậy theo dõi sát sao từ những nguồn tin cậy là rất quan trọng! kèo nhà cái
GO888 thật sự xứng đáng được gọi tên trong danh sách những nhà cái uy tín nhất hiện nay!!!## anykeyword ## go88.us.org
Tôi đã tham gia cá cược tại 12Play và thấy rằng odds rất cạnh tranh! nhà cái 12Play
Không chỉ đơn giản là đặt cược , mà còn là trải nghiệm cảm xúc thăng hoa cùng với t y do 8 8 mỗi ngày ! # # anyKeywo rd# # tydo88.team
This was highly educational. For more, visit movers in santa cruz .
<a href="https://sunrisetrailmarket.shop/" /SunriseTrailDepot – Loved the clean layout, smooth ordering, and high-quality items.
VớiWin88, việc rút tiền thắng cược chưa bao giờ dễ dàng đến thế – nhanh chóng và thuận tiện ! Win88
I rely on fine dining restaurant whenever I need fancy restaurants near me for a special celebration.
Hãy đến với sân chơi lớn nhất Việt Nam – đó chính là nhà cái 789bet!! link vào 789bet
Bet 167 xứng đáng với danh hiệu “nhà cái uy tín” mà mọi người thường nhắc đến! nhà cái Bet168
This was a wonderful post. Check out junk hauling for more.
Looking forward to connecting with others who enjoy betting on %%% as much as I do! 99Win
Không chỉ đơn thuần là một nhà cái, mà còn là nơi tụ hội của những người đam mê cá cược như chúng ta – đó chính là Daga88! daga88.lat
ยินดีที่จะได้รับความคิดเห็นจากทุกคนเกี่ยวกับประสบการณ์ที่ผ่านมา ### ร้าน ซ่อมไฟรถยนต์ ใกล้ ฉัน
Trong số những nhà cái mà tôi từng thử qua thì đây là nơi tốt nhất! shbet.us.org
Love seeing before-and-after roof projects. Quality flashing and proper drip edge make all the difference. Thinking of booking with Commercial roofing Kitchener for our eavestrough replacement.
A good roofer will check soffit, fascia, and valleys, not just shingles. I’ve seen great reviews for Kitchener roofing experts around Kitchener.
Packing station ergonomics expand speed. We standardized station layouts and tied them to Warehouse management system consulting workflows.
GoldenRoot Market Hub – Quick-loading site, fair prices, and everything was delivered safely.
Luôn theo dõi các trận đấu lớn nhờ vào sự hỗ trợ của #anyKeyword#, rất tuyệt vời! kèo nhà cái
shoppingcollectionhub – Loved browsing, navigation and checkout were quick and easy.
Thanks for the informative content. More at pool removal company .
Stubborn belly fat won’t budge—ready to see options on laser lipolysis .
This post made the whole shipping process less intimidating. West Lake Hills car moving companies
Love elephants? http://samuithailand.ru: no rides or shows just free-roaming elephants nature trails guided tours and the chance to learn what responsible wildlife management looks like.
Noisy garbage disposal? Central Plumbing replaces and rewires disposals safely. Get help at emergency plumber southampton .
Seeing progress unfold inspires everyone involved motivating future endeavors pursued continuously forward!!!! # SEO Agency San Francisco CA
Threat hunting can discover stealthy endurance. Start with hypotheses round regularly occurring TTPs. I posted hunting queries and tips on it support companies .
An ethical http://thailand-properties.ru: rehabilitation care veterinary monitoring and freedom of movement instead of attractions. By visiting you support the project and help elephants live in dignified conditions.
Appreciate the useful tips. For more, visit financiación injerto capilar .