Index: konq_mainwindow.h =================================================================== RCS file: /home/kde/kdebase/konqueror/konq_mainwindow.h,v retrieving revision 1.376 diff -u -p -B -w -r1.376 konq_mainwindow.h --- konq_mainwindow.h 9 Dec 2002 16:57:31 -0000 1.376 +++ konq_mainwindow.h 8 Jan 2003 19:22:46 -0000 @@ -290,6 +290,7 @@ public: signals: void viewAdded( KonqView *view ); void viewRemoved( KonqView *view ); + QVariant executeScript(const QString &); public slots: void slotCtrlTabPressed(); Index: konq_mainwindow.cc =================================================================== RCS file: /home/kde/kdebase/konqueror/konq_mainwindow.cc,v retrieving revision 1.1092 diff -u -p -B -w -r1.1092 konq_mainwindow.cc --- konq_mainwindow.cc 9 Dec 2002 18:07:46 -0000 1.1092 +++ konq_mainwindow.cc 8 Jan 2003 19:22:46 -0000 @@ -425,6 +426,23 @@ void KonqMainWindow::openURL( KonqView * if ( !view && !req.newTab) view = m_currentView; /* Note, this can be 0L, e.g. on startup */ + if ( url.protocol() == "javascript" ) { + // TODO - the following line should correctly check if the current view is a khtmlpart + if ( view && view->part() && view->part()->inherits("KHTMLPart") ) + { + connect(this, SIGNAL( executeScript(const QString &) ), + view->part(), SLOT( slotExecuteScript(const QString &) )); + emit executeScript(url.path()); + } + else + { + KMessageBox::error(0, i18n("Javascript URLs work only for already opened HTML pages")); + serviceType = "text/html"; + url = KURL(); + } + return; + } + if ( view ) { if ( view == m_currentView )