###前提・実現したいこと
外部jsをつかって<frame>の要素を取得したい
###発生している問題・エラーメッセージ
レガシーコードを扱う案件で<frame>を10年ぶりぐらいにみかけたのですが、子frame側で指定した外部jsから子frameの要素をうまく指定できません。
###該当のソースコード
"parent.html"
html
1<frameset> 2 <frame name="child1" src="child1.html"></frame> 3 <frame name="child2" src="child2.html"></frame> 4</frameset>
"child1.html"
参照対象外
"child2.html"
html
1<meta> 2 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 3 <script src="child2.js"></script> 4</meta> 5<body> 6 <input type="hidden" id="message" value="hogehoge" /> 7</body>
"child2.js"
javascript
1 2//以下すべてundefined 3$(function(){ 4 console.log( 5 $("#message").val(), 6 $("#message",top).val(), 7 $("#message",top.frames[1]).val(), 8 $("#message",top.frames[1].document.body).val() 9) 10}) 11
###試したこと
先に結果だけ申し上げると外部化せずにchild2.htmlに直接scriptを書き込めば素直に要素が取得できるのですが、200ステップほどのコードをとかくいろいろな場所に埋め込まなければならず、可能であればプラグイン化したいなというご相談です。
参考にさせていただいたのが
http://qiita.com/noobar/items/df2b67d371fcda63ccd5
ぐらいで、ほかに<iframe>の情報はあってももはや<frame>を取り扱う情報自体がなくなりつつあり、少し困っています。
お知恵をお貸しください。
###補足情報(言語/FW/ツール等のバージョンなど)
ライブラリはjqueryのみ、バージョンは可能であれば1.6.xまでで、最新版を使いたいところですがあまり強く提案できるポジションではないので可能な限り現行版の1.6.xでいければと思います。
回答1件
あなたの回答
tips
プレビュー