iGoogleガジェットを作ってる
外部のサイトをクリッピングしたいのです
gadgets.io.makeRequestを使うと任意のサイトの一部を持ってこれる。
var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.DOM; var url = "取得元URL"; gadgets.io.makeRequest(url, response, params); function response(obj) { var domData = obj.data; alert(domData) }
として、DOMで取得するように設定してコールバック関数をしていしてこれでデータが取れることが確認できた。
しかしながら、このdomオブジェクトにinnerHTMLプロパティがない。あれ?っと思ってどんなプロパティがあるか列挙してみた。
documentElement getElementById nodeName nodeValue nodeType parentNode childNodes firstChild lastChild previousSibling nextSibling attributes ownerDocument insertBefore replaceChild removeChild appendChild hasChildNodes cloneNode normalize isSupported namespaceURI prefix localName hasAttributes doctype implementation createElement createDocumentFragment createTextNode createComment createCDATASection createProcessingInstruction createAttribute createEntityReference getElementsByTagName importNode createElementNS createAttributeNS getElementsByTagNameNS ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE DOCUMENT_FRAGMENT_NODE NOTATION_NODE async load evaluateFIXptr evaluateXPointer getInterface characterSet dir title contentType lastModified referrer getBoxObjectFor hasFocus activeElement getElementsByClassName elementFromPoint createEvent styleSheets preferredStyleSheetSet selectedStyleSheetSet lastStyleSheetSet styleSheetSets enableStyleSheetsForSet defaultView createRange createNodeIterator createTreeWalker getAnonymousNodes getAnonymousElementByAttribute addBinding removeBinding getBindingParent loadBindingDocument removeEventListener dispatchEvent baseURI compareDocumentPosition textContent isSameNode lookupPrefix isDefaultNamespace lookupNamespaceURI isEqualNode getFeature setUserData getUserData inputEncoding xmlEncoding xmlStandalone xmlVersion strictErrorChecking documentURI adoptNode domConfig normalizeDocument renameNode DOCUMENT_POSITION_DISCONNECTED DOCUMENT_POSITION_PRECEDING DOCUMENT_POSITION_FOLLOWING DOCUMENT_POSITION_CONTAINS DOCUMENT_POSITION_CONTAINED_BY DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC createExpression createNSResolver evaluate
※2009/06/21 現在
こんなにプロパティがある中innerXXXはなかった。
今回、はまったポイント
部分HTMLを取得できない。XMLパーサーがきちんとしている子なので、HTMLの一部だけのようなものはパースエラーになり、取得ができない。
これに1時間ぐらいはまった。
幸いにしてXML形式でもデータが取れたのでそいつを料理してやった。
何はともあれ
目的のキューピー3分クッキングガジェットを完成させた。
これでガジェットクリエーターの仲間入りw
まだまだ、改良の余地はあるだろうけど、とりあえず完成版ってことにしとく。
これのおかげで、自炊に目覚めましたみたいなコメント大募集中!!!www
おいしいものが毎日眺められて幸せ。