⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kjs_html.cpp

📁 将konqueror浏览器移植到ARM9 2410中
💻 CPP
📖 第 1 页 / 共 5 页
字号:
      else if (p == "height")          return getString(iFrame.height());      else if (p == "longDesc")        return getString(iFrame.longDesc());      else if (p == "marginHeight")    return getString(iFrame.marginHeight());      else if (p == "marginWidth")     return getString(iFrame.marginWidth());      else if (p == "name")            return getString(iFrame.name());      else if (p == "scrolling")       return getString(iFrame.scrolling());      else if (p == "src")             return getString(iFrame.src());      else if (p == "width")           return getString(iFrame.width());//      else if (p == "contentDocument") // new for DOM2 - not yet in khtml//        return getDOMNode(iFrame.contentDocument); // type Document    }    break;  }  // generic properties  if (p == "id")    return getString(element.id());  else if (p == "title")    return getString(element.title());  else if (p == "lang")    return getString(element.lang());  else if (p == "dir")    return getString(element.dir());  else if (p == "className") // ### isn't this "class" in the HTML spec?    return getString(element.className());  else if ( p == "innerHTML")      return getString(element.innerHTML());  else if ( p == "innerText")      return getString(element.innerText());  // ### what about style? or is this used instead for DOM2 stylesheets?  else    return DOMElement::tryGet(p);}bool KJS::HTMLElement::hasProperty(const UString &p, bool recursive) const{    KJSO tmp = tryGet(p);    if (tmp.isDefined())	return true;    return recursive && DOMElement::hasProperty(p, true);}String KJS::HTMLElement::toString() const{  if (node.elementId() == ID_A)    return UString(static_cast<const DOM::HTMLAnchorElement&>(node).href());  else    return DOMElement::toString();}List *KJS::HTMLElement::eventHandlerScope() const{  DOM::HTMLElement element = static_cast<DOM::HTMLElement>(node);  List *scope = new List();  scope->append(getDOMNode(element.ownerDocument()));  DOM::Node form = element.parentNode();  while (!form.isNull() && form.elementId() != ID_FORM)    form = form.parentNode();  if (!form.isNull())    scope->append(getDOMNode(form));  scope->append(getDOMNode(element));  return scope;}Completion KJS::HTMLElementFunction::tryExecute(const List &args){  KJSO result;  switch (element.elementId()) {    case ID_FORM: {      DOM::HTMLFormElement form = element;      if (id == Submit) {        form.submit();        result = Undefined();      }      else if (id == Reset) {        form.reset();        result = Undefined();      }    }    break;    case ID_SELECT: {      DOM::HTMLSelectElement select = element;      if (id == Add) {        select.add(KJS::toNode(args[0]),KJS::toNode(args[1]));        result = Undefined();      }      else if (id == Remove) {        select.remove(args[0].toNumber().intValue());        result = Undefined();      }      else if (id == Blur) {        select.blur();        result = Undefined();      }      else if (id == Focus) {        select.focus();        result = Undefined();      }    }    break;    case ID_INPUT: {      DOM::HTMLInputElement input = element;      if (id == Blur) {        input.blur();        result = Undefined();      }      else if (id == Focus) {        input.focus();        result = Undefined();      }      else if (id == Select) {        input.select();        result = Undefined();      }      else if (id == Click) {        input.click();        result = Undefined();      }    }    break;    case ID_TEXTAREA: {      DOM::HTMLTextAreaElement textarea = element;      if (id == Blur) {        textarea.blur();        result = Undefined();      }      else if (id == Focus) {        textarea.focus();        result = Undefined();      }      else if (id == Select) {        textarea.select();        result = Undefined();      }    }    break;    case ID_A: {      DOM::HTMLAnchorElement anchor = element;      if (id == Blur) {        anchor.blur();        result = Undefined();      }      else if (id == Focus) {        anchor.focus();        result = Undefined();      }    }    break;    case ID_TABLE: {      DOM::HTMLTableElement table = element;      if (id == CreateTHead)        result = getDOMNode(table.createTHead());      else if (id == DeleteTHead) {        table.deleteTHead();        result = Undefined();      }      else if (id == CreateTFoot)        result = getDOMNode(table.createTFoot());      else if (id == DeleteTFoot) {        table.deleteTFoot();        result = Undefined();      }      else if (id == CreateCaption)        result = getDOMNode(table.createCaption());      else if (id == DeleteCaption) {        table.deleteCaption();        result = Undefined();      }      else if (id == InsertRow)        result = getDOMNode(table.insertRow(args[0].toNumber().intValue()));      else if (id == DeleteRow) {        table.deleteRow(args[0].toNumber().intValue());        result = Undefined();      }    }    break;    case ID_THEAD:    case ID_TBODY:    case ID_TFOOT: {      DOM::HTMLTableSectionElement tableSection = element;      if (id == InsertRow)        result = getDOMNode(tableSection.insertRow(args[0].toNumber().intValue()));      else if (id == DeleteRow) {        tableSection.deleteRow(args[0].toInt32());        result = Undefined();      }    }    break;    case ID_TR: {      DOM::HTMLTableRowElement tableRow = element;      if (id == InsertCell)        result = getDOMNode(tableRow.insertCell(args[0].toNumber().intValue()));      else if (id == DeleteCell) {        tableRow.deleteCell(args[0].toInt32());        result = Undefined();      }    }    break;  }  return Completion(ReturnValue, result);}void KJS::HTMLElement::tryPut(const UString &p, const KJSO& v){  DOM::DOMString str = v.isA(NullType) ? DOM::DOMString(0) : v.toString().value().string();  DOM::Node n = (new DOMNode(KJS::toNode(v)))->toNode();  DOM::HTMLElement element = static_cast<DOM::HTMLElement>(node);  //kdDebug() << "KJS::HTMLElement::tryPut " << p.qstring() << " id=" << element.elementId() << endl;  switch (element.elementId()) {    case ID_HTML: {      DOM::HTMLHtmlElement html = element;      if      (p == "version")         { html.setVersion(str); return; }    }    break;    case ID_HEAD: {      DOM::HTMLHeadElement head = element;      if      (p == "profile")         { head.setProfile(str); return; }    }    break;    case ID_LINK: {      DOM::HTMLLinkElement link = element;      if      (p == "disabled")        { link.setDisabled(v.toBoolean().value()); return; }      else if (p == "charset")         { link.setCharset(str); return; }      else if (p == "href")            { link.setHref(str); return; }      else if (p == "hreflang")        { link.setHreflang(str); return; }      else if (p == "media")           { link.setMedia(str); return; }      else if (p == "rel")             { link.setRel(str); return; }      else if (p == "rev")             { link.setRev(str); return; }      else if (p == "target")          { link.setTarget(str); return; }      else if (p == "type")            { link.setType(str); return; }    }    break;    case ID_TITLE: {      DOM::HTMLTitleElement title = element;      if (p == "text")                 { title.setText(str); return; }    }    break;    case ID_META: {      DOM::HTMLMetaElement meta = element;      if      (p == "content")         { meta.setContent(str); return; }      else if (p == "httpEquiv")       { meta.setHttpEquiv(str); return; }      else if (p == "name")            { meta.setName(str); return; }      else if (p == "scheme")          { meta.setScheme(str); return; }    }    break;    case ID_BASE: {      DOM::HTMLBaseElement base = element;      if      (p == "href")            { base.setHref(str); return; }      else if (p == "target")          { base.setTarget(str); return; }    }    break;    case ID_ISINDEX: {      DOM::HTMLIsIndexElement isindex = element;      // read-only: form      if (p == "prompt")               { isindex.setPrompt(str); return; }    }    break;    case ID_STYLE: {      DOM::HTMLStyleElement style = element;      if      (p == "disabled")        { style.setDisabled(v.toBoolean().value()); return; }      else if (p == "media")           { style.setMedia(str); return; }      else if (p == "type")            { style.setType(str); return; }    }    break;    case ID_BODY: {      DOM::HTMLBodyElement body = element;      if      (p == "aLink")           { body.setALink(str); return; }      else if (p == "background")      { body.setBackground(str); return; }      else if (p == "bgColor")         { body.setBgColor(str); return; }      else if (p == "link")            { body.setLink(str); return; }      else if (p == "text")            { body.setText(str); return; }      else if (p == "vLink")           { body.setVLink(str); return; }    }    break;    case ID_FORM: {      DOM::HTMLFormElement form = element;      // read-only: elements      // read-only: length      if (p == "name")                 { form.setName(str); return; }      else if (p == "acceptCharset")   { form.setAcceptCharset(str); return; }      else if (p == "action") {        form.setAction(Window::retrieveActive()->part()->completeURL( str.string() ).url());        return;      }      else if (p == "enctype")         { form.setEnctype(str); return; }      else if (p == "method")          { form.setMethod(str); return; }      else if (p == "target")          { form.setTarget(str); return; }    }    break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -